include<stdio.h>include<math.h>main(){intn,M,i,j;printf("请输入希望迭代的次数");scanf("%d",&M);printf("请输入方程阶数");scanf("%d",&n);floatp,y[n],x[n],a[n][n],b[n];
cout<<"请你选择迭代方法!"<<endl;cout<<endl;cout<<endl;cout<<"选用雅可比迭代法,请输入(1)!"<<endl;cout<<endl;cout<<endl;cout<<"选用塞德尔迭代法,请输入(2)
x=(float*)malloc(3*sizeof(float));/*动态申请内存,用于保存方程的解*/x=Jacobi(a,3);/*调用雅可比函数*/for(i=0;i<3;i++)/*输出方程的解*/{printf("x[%d]=%f\t",i,x[i]);}printf("\n...
double*Gauss(intn,doublea[],doubleb[])//数组a、b对应于线性方程组AX=B中的向量A、B{inti,j,k,*js,is;doublemax,t;js=malloc(n*sizeof(int));//开辟用于记录列交换位置的动态空间for(k...
doublenorm(double*x,double*y,intn){inti=0;doubles=0;for(i=0;i<n;i++)s=s+fabs(x[i]-y[i])*fabs(x[i]-y[i]);returnsqrt(s);}voidJacobi(doubleA[],doubleb[],doublex0[]...
include<cstdlib>include<fstream>usingstd::cin;usingstd::cout;usingstd::endl;usingstd::ofstream;defineMAX10000//itcanbechangedwhenitisneededdoublea[MAX][MAX],b[MAX],result[...
有时雅可比迭代法是无效的
include"string.h"main(){inti,j,k;floatm1=0.0,m2=0.0;floata[4][5]={5,-1,-1,-1,4,-1,10,-1,-1,12,-1,-1,5,-1,8,-1,-1,-1,10,30};floatx[4]={0.0,0.0,0.0,0.0};...
ation(A,B,X0,kmax,tol);雅可比(Jacobi)迭代法解线性方程组AX=Bifnargin==4;tol=1*10^(-4);%设置默认精度elseifnargin==3;tol=1*10^(-4);kmax=500;%设置默认迭代次数elseifnargin...
雅克比迭代法就是众多迭代法中比较早且较简单的一种,其命名也是为纪念普鲁士著名数学家雅可比。雅克比迭代法的计算公式简单,每迭代一次只需计算一次矩阵和向量的乘法,且计算过程中原始矩阵A始终不变,比较容易并行计算。概念...