欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

C语言编写雅可比迭代

源码 13 K 1 次下载

资源详细信息

文件格式
DOCX
文件大小
13 K
资源分类
上传者
发布时间
下载统计
1
所需积分
2 积分

C语言编写雅可比迭代 - 资源详细说明

# include<stdio.h>
# include<math.h>
# define N 3

main(){
    float NF2(float *x,float *y);
    float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}};
    float b[N]={7.2,8.3,4.2},sum=0;
    float x[N]= {0,0,0},y[N]={0},x0[N]={};
    int i,j,n=0;
    for(i=0;i<N;i++)
    {
        x[i]=x0[i];
    }
    for(n=0;;n++){
                //计算下一个值
    for(i=0;i<N;i++){
        sum=0;
        for(j=0;j<N;j++){
            if(j!=i){
                sum=sum+A[i][j]*x[j];
            }
        }
        y[i]=(1/A[i][i])*(b[i]-sum);
        //sum=0;
    }
    //判断误差大小
        if(NF2(x,y)>0.01){
                for(i=0;i<N;i++){
        x[i]=y[i];
    }
    }
            else
            break;
    }
    printf("经过%d次雅可比迭代解出方程组的解:\n",n+1);
    for(i=0;i<N;i++){
        printf("%f      ",y[i]);
    }
}
//求两个向量差的二范数函数
float NF2(float *x,float *y){
int i;
float z,sum1=0;
for(i=0;i<N;i++){
    sum1=sum1+pow(y[i]-x[i],2);
}
z=sqrt(sum1);
return z;
}

立即下载 C语言编写雅可比迭代

提示:下载后请用压缩软件解压,推荐使用 WinRAR 或 7-Zip

下载说明与使用指南

下载说明

  • 本资源需消耗 2积分
  • 24小时内重复下载不扣分
  • 支持断点续传功能
  • 资源永久有效可用

使用说明

  • 下载后使用解压软件解压
  • 推荐使用 WinRAR 或 7-Zip
  • 如有密码请查看资源说明
  • 解压后即可正常使用

积分获取方式

  • 上传优质资源获得积分
  • 每日签到免费领取积分
  • 邀请好友注册获得奖励
  • 查看详情 →

相关技术标签

点击标签浏览更多相关源码资源:

相关源码资源推荐