C语言编写雅可比迭代 - 免费下载

源码资源 文件大小:13 K

📋 资源详细信息

文件格式
DOCX
所属分类
上传用户
上传时间
文件大小
13 K
所需积分
2 积分
推荐指数
⭐⭐⭐ (3/5)

💡 温馨提示:本资源由用户 大萌萌撒 上传分享,仅供学习交流使用。如有侵权,请联系我们删除。

资源简介

# 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;
}

立即下载此资源

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

资源说明

📥 下载说明

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

📦 使用说明

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

🎁 积分获取

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

相关标签

点击标签查看更多相关资源:

相关资源推荐