gaussseidel.h

来自「Jacobi GaussSeidel法求算式的根」· C头文件 代码 · 共 33 行

H
33
字号
int G_S(float A[][MAX_n],float x[],int n){
float x_former[MAX_n];
	int i,j,k;
	printf("\n请输入初始的 x0值:\n");
	Input(x,n);
	k=0;
	do{
		for(i=1;i<=n;++i)
		{
			printf("\nx[%d]=%f",i,x[i]);
			x_former[i]=x[i];
		}
		printf("\n");
		for(i=1;i<=n;++i)
		{
			x[i]=A[i][n+1];
			for(j=1;j<=n;++j)
				if(j!=i)x[i]-=A[i][j]*x[j];
			if(fabs(A[i][i])>PRECISION)
				x[i]/=A[i][i];
			else
				return 1;
		}
		++k;
	}while(Is(x,x_former,n) && k<MAX_Number);
	if(k>=MAX_Number)
		return 1;
	else
	{
		printf("\nG-S共迭代了 %d 次!",k);
		return 0;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?