解线性方程组的直接方法实验报告
1.实验目的:
1、通过该课题的实验,体会模块化结构程序设计方法的优点; 2、运用所学的计算方法,解决各类线性方程组的直接算法; 3、提高分析和解决问题的能力,做到学以致用;
4、通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特点。 2.实验过程: 实验代码: #include \ #include \ #include
using namespace std; //Gauss法
void lzy(double **a,double *b,int n) {
int i,j,k;
double l,x[10],temp; for(k=0;k for(j=k,i=k;j temp=fabs(a[j][k]); else if(temp temp=fabs(a[j][k]); i=j; } } if(temp==0) { cout<<\无解 \ return; } else { for(j=k;j temp=a[k][j]; a[k][j]=a[i][j]; a[i][j]=temp; } temp=b[k]; b[k]=b[i]; b[i]=temp; } for(i=k+1;i l=a[i][k]/a[k][k]; for(j=k;j a[i][j]=a[i][j]-l*a[k][j]; b[i]=b[i]-l*b[k]; } } if(a[n-1][n-1]==0) { cout<<\无解 \ return; } x[n-1]=b[n-1]/a[n-1][n-1]; for(i=n-2;i>=0;i--) { temp=0; for(j=i+1;j for(i=0;i printf(\ printf(\ } }