数值分析实验作业,gauss消去法的数值稳定性分析
![数值分析实验作业,gauss消去法的数值稳定性分析](https://img.360docs.net/imga5/1jb6xgxz36pfh6y5y3amfkvgz67d21ko-51.webp)
![数值分析实验作业,gauss消去法的数值稳定性分析](https://img.360docs.net/imga5/1jb6xgxz36pfh6y5y3amfkvgz67d21ko-52.webp)
数值分析实验作业,g a u s s
消去法的数值稳定性分析-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
实验3.1 Gauss 消去法的数值稳定性试验
实验目的:
观察和理解Gauss 消元过程中出现小主元(即)
(k kk
a 很小)时引起的方程
组解的数值不稳定性。 实验内容:
求解方程组b Ax =,其中
(1)???
???
???
??
?
?
??=11212592.1121
-130.6-291.51314.59103.015-1A ,?
?????
???
???=2178.4617.591b ; (2)
???????
??
???----=2010
151526990999999999.2310710
2A ,
??????
??????=15019000000000.582b . 实验要求:
(1) 计算矩阵的条件数,判断系数矩阵是良态的还是病态的。
(2) 用Gauss 列主元消去法求得L 和U 及解向量4
21,R x x ∈.
(3) 用不选主元的Gauss 消去法求得L ~和U ~及解向量421~,~R x x ∈.
(4) 观察小主元并分析其对计算结果的影响. 程序如下:计算矩阵条件数及Gauss 列主元消去法: format longeng
A1=[0.3e-15 59.14 3 1;5.291 -6.130 -1 2;11.2 9 5 2;1 2 1 1];
b1=[59.17;46.78;1;2]; n=4;
k2=cond(A1) %k2为矩阵的条件数;
for k=1:n-1
a=max(abs(A1(k:n,k))); [p,k]=find(A1==a); B=A1(k,:);c=b1(k);
A1(k,:)=A1(p,:);b1(k)=b1(p); A1(p,:)=B;b1(p)=c; if A1(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
L1=tril(A1,0); for i=1:n L1(i,i)=1; end L=L1
U=triu(A1,0) for j=1:n-1
b1(j)=b1(j)/L(j,j);
b1(j+1:n)=b1(j+1:n)-b1(j)*L(j+1:n,j); end
b1(n)=b1(n)/L(n,n); for j=n:-1:2
b1(j)=b1(j)/U(j,j);
b1(1:j-1)=b1(1:j-1)-b1(j)*U(1:j-1,j); end
b1(1)=b1(1)/U(1,1); x1=b1
运行结果如下: K2=68.43;
?
?
????
?
??
???
---?=-14929.00202.00893
.0011755.04724.00011079.2600
118L
?
???????????-=801.0000
231.1835.2001314.5902592
.11U 1x =[18.9882;3.3378;-34.747;-33.9865] 不选主元的Gauss 消去法程序:
clear
format longeng
A1=[0.3e-15 59.14 3 1;5.291 -6.130 -1 2;11.2 9 5 2;1 2 1 1]; b1=[59.17;46.78;1;2]; n=4;
for k=1:n-1
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); end
L1=tril(A1,0); for i=1:n L1(i,i)=1; end L=L1
U=triu(A1,0) for j=1:n-1
b1(j)=b1(j)/L(j,j);
b1(j+1:n)=b1(j+1:n)-b1(j)*L(j+1:n,j); end
b1(n)=b1(n)/L(n,n); for j=n:-1:2
b1(j)=b1(j)/U(j,j);
b1(1:j-1)=b1(1:j-1)-b1(j)*U(1:j-1,j); end
b1(1)=b1(1)/U(1,1); x1=b1
程序运行结果如下:
?
?
?????????????=
10189.010
333.3011168.21033.3700110637.17000
1~151515L
??
??
?
?
???
??
?
?
?--?-?-?-?=
-5.00
08
16
010637.171091.5210043.101
314.59103.0~1515
18
15U ]0;0;0005.1;6848.23[~1=x
同理可得2A 对应的系数矩阵条件数及Gauss 列主元消去法求解结果: K2=8.994;
?
?
????
?
?????-?=
1333.04.00
01104.0-3.0-0015.000
01
12-L ????????????--=36667.300030.26005.155.2010
710U ]0.1;;0.1;0.1;10444.0[152-?=-x
不选主元的Gauss 消去法结果:
?
?
???
?
?
???????=
1400.0109999.0-0
01104998.2-5.00013.0-00
01~1212L ?
?
???
??
????????--=
-3667.3000
107495.5109987.14003.2610
0.101
0710
~12
1212
U ]000145.1;99994.0;000.1;1045.1[~52-?-=-x
实验4.5 三次样条插值函数的收敛性
问题提出:
多项式插值不一定收敛的,即插值的节点多,效果不一定就好。对三次样条插值函数又如何呢?理论上证明三次样条插值函数的收敛性是比较困难的,也超过了本课程的内容。通过本实验可以验证这一理论结果.
实验内容:
请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。考虑实验4.4中的函数或者选择其他感兴趣的函数,可用Matlab的函数“spline”作此函数的三次样条插值函数。
实验要求:
(1)随着节点个数的增加,比较被逼近函数和三次样条差值函数的误差变化情况。分析所得结果并与拉格朗日插值多项式比较。(2)三次样条插值函数的思想最早产生于工业部门。作为工业迎合用的例子,考虑如下例子:某汽车制造商根据三次样条差值函数设计车门曲线,其中一段的数据如下: