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

📄 matrix.cpp

📁 用VC编写的数值分析里面三角矩阵的算法
💻 CPP
字号:
#include <iostream.h>
#include <stdio.h>
#define N 5 //定义一个3*3的矩阵,改变N可以改变矩阵的大小

int i,j,k,r;



int a[N][N];
int l[N][N],u[N][N];

//下面这个是直接三角法的第2步公式
void add(int r,int i)
{
	int b=0;
	for(k=0;k<=r-1;k++)
	b+=	l[r][k]*u[k][i];
	u[r][i]=a[r][i]-b;

	
}

//下面这个是直接三角法的第3步公式
void add2(int i,int r)
{
	int d=0;
	for(k=0;k<=r-1;k++)
		d+=l[i][k]*u[k][r];
	l[i][r]=(a[i][r]-d)/u[r][r];

}

//主函数

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

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

 cout<<a[j][i]<<"\t";
}
cout<<endl;
}


//直接三角法的第一步
 for(i=0;i<=N-1;i++)
 {
	 u[0][i]=a[0][i];
	 l[i][0]=a[i][0]/u[0][0];
	 l[i][i]=1;

 }

//计算
for(i=1;i<=N-2;i++)
{
	for(j=i;j<=N-1;j++)
		
	
		add(i,j);
	
	for(j=i+1;j<=N-1;j++)
		add2(j,i);
	
}

add(2,N-1);







cout<<"输出矩阵u:"<<endl;

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

 cout<<u[j][i]<<"\t";
}
cout<<endl;

}


cout<<"输出矩阵l:"<<endl;
for(j=0;j<=N-1;j++)
	{	
for(i=0;i<=N-1;i++)
{

 cout<<l[j][i]<<"\t";
}
cout<<endl;

}
}

⌨️ 快捷键说明

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