资源描述:
《数 值 分 析 作 业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数值分析作业姓名:王森学号:Z14030271学院:化学工程学院班级:化工8班实验3.1Gauss消去法的数值稳定性实验实验目的:理解高斯消元过程中出现小主元即很小时引起方程组解数值不稳定性实验题:求解线性方程组实验要求1计算矩阵的条件数判断系数矩阵是良态的还是病态的2用高斯列主元消去法求得L和U及解向量3用不选主元的高斯消去法求得L和U及解向量4观察小主元并分析对计算结果的影响解11.1判断矩阵A1是否病态程序如下:>>A1=[0.3*10^-15,59.14,3,1;5.291,-6.130,-1,2;
2、11.2,9,5,2;1,2,1,1];cond(A1=,1)结果如下:ans=136.2945>>A1=[0.3*10^-15,59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1];cond(A1,inf)结果如下ans=84.3115>>A1=[0.3*10^-15,59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1];cond(A1,2)结果如下ans=68.4296因为cond(A1,1)=136.2945》1;con
3、d(A1,2)=68.4296》1;cond(A1,inf)=84.3115》1所以该矩阵A1是病态矩阵。1.2判断矩阵A2是否病态程序如下:>>A2=[10,-7,0,1;-3,2.099999999999,6,2;5,-1,5,-1;0,1,0,2];cond(A2,1)ans=19.2832>>A2=[10,-7,0,1;-3,2.099999999999,6,2;5,-1,5,-1;0,1,0,2];cond(A2,2)ans=8.9939>>A2=[10,-7,0,1;-3,2.0999999999
4、99,6,2;5,-1,5,-1;0,1,0,2];cond(A2,inf)ans=18.3564因为cond(A2,1)=19.2832》1;cond(A2,2)=8.9939》1;cond(A2,inf)=18.3564》1所以该矩阵A2是病态矩阵。2高斯列主元消去法程序如下:functionx=gauss(A,b)%高斯求解方程组%x=gauss(A,b)n=length(A);a=[A,b];fork=1:n-1maxa=max(abs(a(k:n,k)));ifmaxa==0return;endfo
5、ri=k:nifabs(a(i,k))==maxay=a(i,k:n+1);a(i,k:n+1)=a(k,k:n+1);a(k,k:n+1)=y;break;endendfori=k+1:nl(i,k)=a(i,k)/a(k,k);a(i,k+1:n+1)=a(i,k+1:n+1)-l(i,k).*a(k,k+1:n+1);endend%回代ifa(n,n)==0returnendx(n)=a(n,n+1)/a(n,n);fori=n-1:-1:1x(i)=(a(i,n+1)-sum(a(i,i+1:n).*
6、x(i+1:n)))/a(i,i);end执行下列程序:>>A=[0.3*10^(-15),59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1];b=[59.17;46.78;1;2];x=gauss(A,b)得到结果如下:x=3.84571.6095-15.476110.4113>>A=[10,-7,0,1;-3,2.099999999999,6,2;5,-1,5,-1;0,1,0,2];b=[8;5.900000000001;5;1];x=gauss(A,b)得到
7、结果如下:x=0.0000-1.00001.00001.00002.1选列主元的分解如下:2.1.1对A1进行列主元分解程序如下:>>A1=[0.3*10^-15,59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1];[L,U,P]=lu(A1)结果如下:L=
1.0000000
0.00001.000000
0.4724-0.17551.00000
0.08930.0202-0.17381.0000
U=
11.20009.00005.00002.0000
059.
8、14003.00001.0000
00-2.83541.2307
0001.0151
P=
0010
1000
01002.1.2对A2进行列主元分解程序如下:>>A2=[10,-7,0,1;-3,2.099999999999,6,2;5,-1,5,-1;0,1,0,2];[L,U,P]=lu(A2)结果如下:L=1.00000000.50001.000000-0.3000-0.00001.0000