# 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;
}
资源简介:# 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]={}; ...
上传时间: 2019-10-13
上传用户:大萌萌撒
资源简介:这是数值分析中雅可比迭代法的实现程序,c语言。
上传时间: 2014-01-13
上传用户:大融融rr
资源简介:通过C语言编程实现数值计算方法中的雅可比迭代,输入各个方程组的系数和迭代次数可以得到方程的精确解和中间计算结果。另外方程组未知数的个数可以自行设定。
上传时间: 2016-11-08
上传用户:王者A
资源简介:用雅可比迭代法,塞德尔迭代法,逐次超松弛法求解线性方程组,程序用C语言编写
上传时间: 2017-06-03
上传用户:源码3
资源简介:数值分析算法雅可比迭代法,用C语言实现。
上传时间: 2014-01-13
上传用户:zhuoying119
资源简介:雅可比迭代它也是数值分析中的经典的算法,这是我的老师自己编写的,我感到他比书上更能让人理解。
上传时间: 2015-03-29
上传用户:sammi
资源简介:雅可比迭代等一些程序
上传时间: 2015-02-04
上传用户:1159797854
资源简介:数值分析雅可比迭代法
上传时间: 2015-03-01
上传用户:lingzhichao
资源简介:雅可比迭代法 解方程组
上传时间: 2014-01-24
上传用户:270189020
资源简介:雅可比迭代解线性方程组 这个也是计算方法中另一种 求解线性方程组的计算程序
上传时间: 2013-12-26
上传用户:nanshan