⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seidel.cpp

📁 gauss-seidel迭代法解Ax=b的解
💻 CPP
字号:
//gauss-seidel迭代法解Ax=b的解;
#include<iostream.h>
#include<stdlib.h>
#include<math.h>
#define N 100


void main()
{
	cout<<"gauss-seidel迭代法解Ax=b的解:\n";
	int i,j,n;
	double t,p;
	double a[N][N],b[N],x[N],temp,pe;

	cout<<"请输入A的阶数:\n";
	cin>>n;

	cout<<"请输入A:\n";
	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
			cin>>a[i][j];
	
	cout<<"请输入列向量b:\n";
        for(i=0;i<n;i++)
		    cin>>b[i];

	cout<<"请输入精度要求pe:\n";
	cin>>pe;

	for(i=0;i<n;i++)
		x[i]=0;

	do
	{
		p=0;
		for(i=0;i<n;i++)
		{
			t=x[i];
			temp=0;

			for(j=0;j<n;j++)
				if(j!=i) temp+=a[i][j]*x[j];

			x[i]=(b[i]-temp)/a[i][i];
			
			if(fabs(x[i]-t)>p) p=fabs(x[i]-t);
		}
	}while(p>pe);

	cout<<"解为:\n";
	for(i=0;i<n;i++)
		cout<<"x"<<i+1<<"="<<x[i]<<"\n";
}


⌨️ 快捷键说明

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