📄 雅可比迭代法.cpp
字号:
#include<stdio.h>
#include<math.h>
#define n 3
void main()
{
int i,j,C=0; //C为迭代次数,初始值为0
double s,exp,e;
double A[n][n],B[n],X[n],Y[n];
A[0][0]=5;A[0][1]=2;A[0][2]=1;
A[1][0]=-1;A[1][1]=4;A[1][2]=2;
A[2][0]=2;A[2][1]=-3;A[2][2]=10;
B[0]=-12;B[1]=20;B[2]=3;
X[0]=X[1]=X[2]=0;
do
{
exp=0;e=0;C++;
for(i=0;i<n;i++)
{
s=0;
for(j=0;j<n;j++)
{
if(j==i)continue;
s+=A[i][j]*X[j];
}
Y[i]=(B[i]-s)/A[i][i];
exp=fabs(Y[i]-X[i]);
if(e<exp)e=exp;
}
for(i=0;i<n;i++)
X[i]=Y[i];
printf("第%d次迭代:\n",C);
printf("X1=%f X2=%f X3=%f",X[0],X[1],X[2]);
printf("\n");
}while(e>1e-4);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -