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

📄 jacobi.cpp

📁 Jacobi数值算法
💻 CPP
字号:
#include <iostream.h>
#include <math.h>
int  main()
{
	const int N=3;
	/*const long int MAX=10000000;*/
	double a[N][N];
	double x0[N]={0,0,0};
	double x[N]={1,1,1};  //只是为了循环的时候方便
	double b[N];
	cout<<"请输入数组a"<<endl;
	for (int i=0;i<N;i++)
		for (int j=0;j<N;j++)
			cin>>a[i][j];
	
	cout<<"请输入数组b"<<endl;
	for ( i=0;i<N;i++)
		cin>>b[i];

	//进行迭代
	for (int k=1;k<=15/*MAX*/;k++)
	{
		for (int i=0;i<N;i++)
		{
			for (int j=0;j<N;j++)
				if(j!=i)
				{
					x[i]=b[i]-a[i][j]*x0[j];
					x[i]=x[i]/a[i][i];
				}
		}
			

			//计算两个结果的差
			double c=x0[0]-x[0];
			double max=fabs(c);
			for (int q=1;q<N;q++)
			{
				c=x0[q]-x[q];
				if(fabs(c)>max)
					max=fabs(c);
			}
		/*	//考察精度
			if(max<1.0E-5)
			{
				cout<<"The reusult is:"<<endl;
				for(int i=0;i<N;i++)
					cout<<"x"<<i<<"="<<x[i]<<"	"<<endl;
				return 0;
			}
			else
			{
				for(int i=0;i<N;i++)*/
					x0[i]=x[i];
			/*}*/
		}
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
	for(i=0;i<N;i++)
			cout<<x[i]<<endl;
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

			
	
	return 1;
}

⌨️ 快捷键说明

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