1 / 23
文档名称:

数值分析大作业.docx

格式:docx   大小:67KB   页数:23页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值分析大作业.docx

上传人:书犹药也 2022/12/6 文件大小:67 KB

下载得到文件列表

数值分析大作业.docx

文档介绍

文档介绍:该【数值分析大作业 】是由【书犹药也】上传分享,文档一共【23】页,该文档可以免费在线阅读,需要了解更多关于【数值分析大作业 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。数值分 析大作 业
Gauss消去法的数值稳定性实验
实验目的:
理解高斯消元过程中浮现小主元即很小时引起方程组解数值不定性
实验内容:
求解方程组Ax=b,其中
(1)A1=×10−−−,b1=;
(2)A2=10−701−−15−10102,b2=;
实验规定:
(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的
(2)用Gauss列主元消去法求得L和U及解向量x1,x2∈R4
(3)用不选主元的高斯消去法求得L和U及解向量x1,x2∈R4
(4)观测小主元并分析对计算成果的影响
(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的
代码:
format longe
formatcompact
A1=[*10^-15,,3,1;,-,-1,2;,9,5,2;1,2,1,1]
b1=[;;1;2]
n=4
C1=cond(A1,1)%C1为A1矩阵1范数下的条件数
C2=cond(A1,2)%C2为A1矩阵2范数下的条件数
C3=cond(A1,inf) %C3为1矩阵谱范数下的条件数
成果:
C1=
+02
C2=
+01
C3 =
+01
显然A1矩阵为病态矩阵
将矩阵A2,b2输入上述代码中求得A2矩阵的条件数为:
C1 =
+01
C2=
+00
C3 =
+01
显然A2矩阵也为病态矩阵
(2)用Gauss列主元消去法求得L和U及解向量x1,x2∈R4
代码:
fork=1:n-1
a=max(abs(A1(k:n,k)))
ifa==0
return
end
fori=k:n
ifabs(A1(i,k))==a
y=A1(i,:)
A1(i,:)=A1(k,:)
A1(k,:)=y
x=b1(i,:)
b1(i,:)=b1(k,:)
b1(k,:)=x
break
end
end
ifA1(k,k)~=0
A1(k+1:n,k)=A1(k+1:n,k)/A1(k,k)
A1(k+1:n,k+1:n)=A1(k+1:n,k+1:n)-A1(k+1:n,k)*A1(k,k+1:n)
else
break
end
end
L=tril(A1,0);
for i=1:n
L(i,i)=1;
end
L
U=triu(A1,0)
y1=L\b1
x1=U\y1
得到如下成果:
x1=+00
+00
-+01
+01
将A2=[10,-7,0,1;-3,2.,6,2;5,-1,5,-1;0,1,0,2]
b2=[8;5.;5;1]
代入上述代码求得成果如下:
X2=
-16
--01
-01
+00
(3)用不选主元的高斯消去法求得L和U及解向量x1,x2∈R4
代码:
format longe
formatcompact
A1=[*10^-15,,3,1;,-,-1,2;,9,5,2;1,2,1,1]
b1=[;;1;2]
[L,U]=lu(A1)
y1=L\b1
x1=U\y1
求得如下成果:
x1=
+00
+00
-+01
+01
将A2=[10,-7,0,1;-3,2.,6,2;5,-1,5,-1;0,1,0,2]
b2=[8;5.;5;1]
代入上述代码,求得成果如下:
x2=
-16
--01
-01
-01
(2)(3)求得成果相似,可验证成果对的。
(4)观测小主元并分析对计算成果的影响
实验成果表白,小主元的存在对计算成果影响较大。小主元的存在会使得计算成果有较大的误差。
方程组的性态和条件数实验
实验目的:
理解条件数的意义和方程组的性态对解向量的影响。
实验内容:
已知两个方程组A1x=b和A2x=b,其中:
A1=1x0x02…x0n1x1x12…x1n1x2x22…x2n……………1xnxn2…xnn ,A2=11/21/3…1/n1/21/31/4…1/(n+1)1/31/41/5…1/(n+2)……………1/n1/(n+1)1/(n+2)…1/(2n−1)
b=j=1na1j,j=1na2j,…j=1na1nj,T
实验规定:
对A1,取xk=1+,k=0,1,…,n,下面均用Matlab函数“x=A/b”计算方程组的解。
(1)取n=4,6,8,分别求出A1,A2的条件数,鉴别它们与否是病态阵?随n的增大,矩阵性态的变化如何?
代码:
formatshorte
formatcompact
A1=[1,1,1,1,1;1,,^2,^3,^4;1,,^2,^3,^4;1,,^2,^3,^4;1,,^2,^3,^4]
C1=cond(A1,1)%C1为A1矩阵1范数下的条件数
C2=cond(A1,2) %C2为A1矩阵2范数下的条件数
C3=cond(A1,inf)%C3为1矩阵谱范数下的条件数

n=4时:
C1=
+05
C2=
+05
C3=
+05
n=4时,A1为病态矩阵
n=6时:
A1=[1,1,1,1,1,1,1;1,,^2,^3,^4,^5,^6;1,,^2,^3,^4,^5,^6;1,,^2,^3,^4,^5,^6;1,,^2,^3,^4,^5,^6;1,,^2,^3,^4,^5,^6;1,,^2,^3,^4,^5,^6]
C1=
+08
C2=
+07
C3=
+08
n=6时,A1为病态矩阵
n=8时: