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

📄 zhuigan.cpp

📁 用VC编写的数值分析的追赶法
💻 CPP
字号:
//追赶法

#include <iostream.h>
#include <stdio.h>
#define N 5 //定义一个5*5的矩阵,改变N可以改变矩阵的大小

int i,j,k,r;



float A[N][N];//={2,1,0,0,1,3,1,0,0,1,1,1,0,0,2,1};

float c[N],d[N],l[N],a[N],b[N],u[N],y[N],x[N],f[N];//={1,2,2,0};


//主函数

void main()
{
	
//输入矩阵A
	cout<<"输入原始矩阵A:"<<endl;
for(i=0;i<=N-1;i++) 
for(j=0;j<=N-1;j++) 
scanf("%f",&A[i][j]); 

//输入方程组解f 
	cout<<"输入方程解f:"<<endl;
for(i=0;i<=N-1;i++) 
 
scanf("%f",&f[i]); 
	
//开始追赶法计算: 
	b[0]=A[0][0];
	
	for(i=1;i<=N-1;i++)
	{
	
	
	a[i]=A[i][i-1];
b[i]=A[i][i];
	}

	for(i=0;i<=N-2;i++)
	{

			c[i]=A[i][i+1];
	}

		for(i=0;i<N-1;i++)
	{
		d[i]=A[i][i+1];
	
	}
		u[0]=b[0];

		for(i=1;i<=N;i++)
		{
			l[i]=a[i]/u[i-1];
			u[i]=b[i]-l[i]*c[i-1];
		}

			
//计算y:
	y[0]=f[0];
	for(i=1;i<=N-1;i++)
	{
		y[i]=f[i]-l[i]*y[i-1];
	}

	//输出y:
		cout<<"方程组解y:"<<endl;
	for(i=0;i<=N-1;i++)


				{
					cout<<y[i]<<"\t";
					


				}  	
				cout<<endl;
//计算x:
	x[N-1]=y[N-1]/u[N-1];

	for(i=N-2;i>=0;i--)
	{
		x[i]=(y[i]-c[i]*x[i+1])/u[i];
	}


//输出x:
		cout<<"方程组解x:"<<endl;
	for(i=0;i<=N-1;i++)


				{
					cout<<x[i]<<"\t";
					


				}  	
				cout<<endl;



}

⌨️ 快捷键说明

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