内容发布更新时间 : 2024/12/28 11:43:39星期一 下面是文章的全部内容请认真阅读。
数值分析实验报告二 求解线性方程组
的直接方法
姓名:刘学超日期: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); }