Gauss列主元素消去法实验参考文档格式.docx
- 文档编号:16897205
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:15
- 大小:45.80KB
Gauss列主元素消去法实验参考文档格式.docx
《Gauss列主元素消去法实验参考文档格式.docx》由会员分享,可在线阅读,更多相关《Gauss列主元素消去法实验参考文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
评阅教师:
年月日
Gauss列主元素消去法实验报告
一、算法描述
1、编写用不选主元的直接三角分解法解线性方程组Ax=b的M文件程序如下
function[x,l,u]=malu(A,b)
formatshort
n=length(b);
u=zeros(n,n);
l=eye(n,n);
u(1,:
)=A(1,:
);
l(2:
n,1)=A(2:
n,1)/u(1,1);
fork=2:
n
u(k,k:
n)=A(k,k:
n)-l(k,1:
k-1)*u(1:
k-1,k:
n);
l(k+1:
n,k)=(A(k+1:
n,k)-l(k+1:
n,1:
k-1,k))/u(k,k);
end
y=zeros(n,1);
y
(1)=b
(1);
y(k)=b(k)-l(k,1:
k-1)*y(1:
k-1);
x=zeros(n,1);
x(n)=y(n)/u(n,n);
fork=n-1:
-1:
1
x(k)=(y(k)-u(k,k+1:
n)*x(k+1:
n))/u(k,k);
二、Gauss列主元消去法解线性方程组程序如下
function[Determ,x]=magauss2(A,b,flag)
%Gauss列主元素消去法解线性方程组Ax=b,A为系数矩阵,b为右端项
%若flag=0,不显示中间消去过程,否则显示中间消去过程,默认为0
%输出项Determ为矩阵A的行列式值,x为解向量
ifnargin<
3,flag=0;
end
Determ=1;
fork=1:
(n-1)
[ap,p]=max(abs(A(k:
n,k)));
p=p+k-1;
ifap==0
printf('
dividebyzero!
'
Determ=0;
end
%换行
ifp>
k
t=A(k,:
A(k,:
)=A(p,:
A(p,:
)=t;
t=b(k);
b(k)=b(p);
b(p)=t;
Determ=-Determ;
%消元计算
m=A(k+1:
n,k)./A(k,k);
A(k+1:
n,k+1:
n)=A(k+1:
n)-m*A(k,k+1:
b(k+1:
n)=b(k+1:
n)-m*b(k);
n,k)=zeros(n-k,1);
ifflag~=0,Ab=[A,b],end%展示消元过程
Determ=A(k,k).*Determ;
ifA(n,n)==0
%回代求解
x(n)=b(n)/A(n,n);
fori=(n-1):
x(i)=(b(i)-A(i,i+1:
n)*x(i+1:
n))/A(i,i);
Determ=A(n,n).*Determ;
三、计算过程
直接三角分解法
(1):
A=[3.016.031.99;
1.274.16-1.23;
0.987-4.819.34]
b=[1;
1;
1]
[x1,l1,u1]=malu(A,b);
x1
l1
u1
A=
3.01006.03001.9900
1.27004.1600-1.2300
0.9870-4.81009.3400
b=
1
x1=
1.0e+003*
1.5926
-0.6319
-0.4936
l1=
1.000000
0.42191.00000
0.3279-4.20061.0000
u1=
01.6158-2.0696
00-0.0063
A=[3.006.031.99;
0.990-4.819.34]
3.00006.03001.9900
0.9900-4.81009.3400
119.5273
-47.1426
-36.8403
0.42331.00000
0.3300-4.23061.0000
01.6073-2.0724
00-0.0844
(2)
A=[10,-7,0,1;
-3,2.09999,6,2;
5,-1,5,-1;
2,1,0,2]
b=[8;
5.900001;
5;
10.0000-7.000001.0000
-3.00002.10006.00002.0000
5.0000-1.00005.0000-1.0000
2.00001.000002.0000
8.0000
5.9000
5.0000
1.0000
0.0000
-1.0000
1.0e+005*
0.0000000
-0.00000.000000
0.0000-2.50000.00000
0.0000-2.40000.00000.0000
1.0e+006*
0.0000-0.000000.0000
0-0.00000.00000.0000
001.50000.5750
0000.0000
-3,2.1,6,2;
5.9;
NaN
1.0000000
-0.30001.000000
0.5000Inf1.00000
0.2000InfNaN1.0000
006.00002.3000
00-Inf-Inf
000NaN
高斯列主元消去法:
(1)
A1=[3.016.031.99;
condA1=cond(A1)%
(1)中A的条件数
[Determ1,x1]=magauss2(A1,b,1)
A2=[3.006.031.99;
condA2=cond(A2)
[Determ2,x2]=magauss2(A2,b,1)
运行结果如下
A1=
condA1=
3.0697e+004
Ab=
3.01006.03001.99001.0000
01.6158-2.06960.5781
0-6.78738.68750.6721
00-0.00150.7381
Determ1=
-0.0305
A2=
condA2=
2.3028e+003
3.00006.03001.99001.0000
01.6073-2.07240.5767
0-6.79998.68330.6700
00-0.02000.7350
Determ2=
-0.4070
x2=
A1=[10,-7,0,1;
A2=[10,-7,0,1;
[Determ2,x2]=magauss2(A2,b,1)
5.8745
10.0000-7.000001.00008.0000
0-0.00006.00002.30008.3000
02.50005.0000-1.50001.0000
02.400001.8000-0.6000
006.00002.30008.3000
00-4.80003.2400-1.5600
0005.08005.0800
-762.0009
5.8746
-762
四、算法分析
在
(1)中:
直接三角解法
与高斯列主元消去解法的结果是一样的,而经过改变某些值后,其结果还是一样,看不出来那个方法好在
(2)中直接三角解法出现
结果:
三角解法结果出现一个不确定的值NaN说明该算法求解该问题存在很大的误差,二高斯列主元消去则很小,所以高斯列主元消去法的与实际结果很接近.
五、总结
通过实验,深入并基本掌握高斯消去法和高斯列主元消去法的步骤,经过实际问题的求解,感受到高斯列主元消去法的优点,以及算法的不同产生的误差很大,对我们的问题求解有很大的影响
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Gauss 元素 消去 实验 参考
![提示](https://static.bdocx.com/images/bang_tan.gif)