数值分析实验报告二 求解线性方程组的直接方法

数值分析实验报告二 求解线性方程组

的直接方法

姓名:刘学超日期:3/28 一实验目的

1.掌握求解线性方程组的高斯消元法及列主元素法; 2.掌握求解线性方程组的克劳特法; 3.掌握求解线性方程组的平方根法。 二实验内容

1.用高斯消元法求解方程组(精度要求为): 2.用克劳特法求解上述方程组(精度要求为)。 3.用平方根法求解上述方程组(精度要求为)。 4.用列主元素法求解方程组(精度要求为): 三实验步骤(算法)与结果

1用高斯消元法求解方程组(精度要求为): #include stdio.h

#define n3 void gauss(double a[n][n],double b[n]) {

double sum1=0,sum2=0,sum3=0,sum4=0; double l[n][n],z[n],x[n],u[n][n];

int i,j,k; for(i=0;i n;i++) l[i][i]=1; for(i=0;i n;i++) {

for(j=0;j n;j++) { if(i=j) {

for(k=0;k=i-2;k++) sum1+=l[i][k]*u[k][j]; u[i][j]=a[i][j]-sum1; } if(i j)

{for(k=0;k=j-2;k++) sum2+=l[i][k]*u[k][j];

l[i][j]=(a[i][j]-sum2)/u[j][j]; } }

for(k=0;k=i-2;k++) sum3+=l[i][k]*z[k]; z[i]=b[i]-sum3; for(i=n-1;i=0;i--) {

for(k=i;k=n-1;k++) sum4+=u[i][k]*x[k]; x[i]=(z[i]-sum4)/u[i][i]; } }

for(i=0;i n;i++) printf(\; } main() {

double v[3][3]={{3,-1,2},{-1,2,2},{2,-2,4}}; double c[3]={7,-1,0}; gauss(v,c); }

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4