: .
本科实验报告
课程名称:计算机数值方法实验项目:二分法牛顿法迭代法实验地点:学院楼606专业
「-2_
8
7
2
10
1
x
2
-7
4
8
3
6
x
3
-7
12
6
11
20_
x
1-4」
_-3_
③(n=5,10,100,…)
2
1
实验内容和原理(必填)
高斯分解法:
⑴将原方程组化为三角形方阵的方程组:
l=a/a
ikikkk
a=a-l*ak=l,2,…,n-1
ijijikkj
i=k+1,k+2,•…,nj=k+1,k+2,•…,n+1⑵由回代过程求得原方程组的解:
x=a/a
nnn+1nn
(k=n-1,n_2,•••,2,1)
x=(a—工ax)/a
kkn+1kjjkk
LU分解法:
将系数矩阵A转化为A=L*U,L为单位下三角矩阵,U为普通上三角矩阵,然后通过解方程组l*y=b,u*x=y,来求解x.
追赶法:
用来求对角方程组;将系数矩阵A转化为A=L*U,L为普通下n-1对角矩阵,U为单位上n-1对角矩阵,然后通过解方程组l*y=b,u*x=y,来求解x.
三、主要仪器设备(必填)PC,DEV-C++四、操作方法与实验步骤(可选)1•高斯消元法#>intmain(){
inti,j;
floatz,b,c,d,xl,x2,x3;
floata[3][4];
printf("请输入矩阵\n");
for(i=0;iv3;i++)
for(j=0;jv4;j++)
scanf("%f",&a[i][j]);
z=a[1][0]/a[0][0];
if(z!=0);{
for(j=0;j<4;j++)
a[1][j]=a[1][j]-z*a[0][j];
}
b=a[2][0]/a[0][0];
if(b!=0);{
for(j=0;j<4;j++)
a[2][j]=a[2][j]-b*a[0][j];
}
c=a[2][1]/a[1][1];
if(c!=0);{
for(j=0;j<4;j++)
a[2][j]=a[2][j]-c*a[1][j];
}
for(i=0;iv3;i++){for(j=0;jv4;j++)printf(”%f",a[i][j]);
printf("\n");
}
x3=a[2][3]/a[2][2];
x2=(a[l][3]-x3*a[l][2])/a[l][l];
xl=(a[0][3]-x3*a[0][2]-x2*a[0][l])/a[0][0];
printf("x1=%fx2=%fx3=%f",xl,x2,x3);getch();
}
*C:\Users\boss\Desktop1■
请输入矩阵
123**********
~"
xl===•高斯列主元素消元法#>intmain(){
inti,j,n;floatz,b,c,k,xl,x2,x3,x4;floata[4][5];printf("请输入矩阵\n");for(i=0;i<4;i++)for(j=0;jv5;j++)scanf("%f",&a[i][j]);for(i=l;i<4;i++){if(a[0][0]va[i][0])for(j=0;jv5;j++){k=a[0][j];a[0][j]=a[i][j];a[i][j]=k;
}
}
for(n=l;n<4;n++){z=a[n][0]/a[0][0];if(z!=0);
for(j=0;jv5;j++)
a[n][j]=a[n][j]-z*a[0][j];
}
for(n=2;nv4;n++){c=a[n][l]/a[l][l];
if(c!=O)
for(j=0;jv5;j++)
a[n][j]=a[n][j]-c*a[1][j];
}
b=a[3][2]/a[2][2];
if(b!=0)for(j=0;jv5;j++)a[3][j]=a[3][j]-b*a[2][j];
for(i=0;i<4;i++){for(j=0;
计算机数值计算方法 来自淘豆网m.daumloan.com转载请标明出处.