南京邮电大学数值代数实验

上传人:ni****g 文档编号:555860595 上传时间:2023-11-07 格式:DOCX 页数:22 大小:28.92KB
返回 下载 相关 举报
南京邮电大学数值代数实验_第1页
第1页 / 共22页
南京邮电大学数值代数实验_第2页
第2页 / 共22页
南京邮电大学数值代数实验_第3页
第3页 / 共22页
南京邮电大学数值代数实验_第4页
第4页 / 共22页
南京邮电大学数值代数实验_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《南京邮电大学数值代数实验》由会员分享,可在线阅读,更多相关《南京邮电大学数值代数实验(22页珍藏版)》请在金锄头文库上搜索。

1、数值代数实验数值线性代数实验一一、实验名称:矩阵的LU分解.二、实验目的:用不选主元的LU分解和列主元LU分解求解线性方程组Ax=b,并比拟这 两种方法.三、实验内容与要求1用所熟悉的计算机语言将不选主元和列主元LU分解编成通用的子程序,然后用编写的程序求解下面的84阶方程组/ 6 1/7 8 6 1158 61$3158611586 1158 6 )瓦4 /14 )将计算结果与方程组的准确解进展比拟,并就此谈谈你对Gauss消去法的看法.(2)写出追赶法求解三对角方程组的过程,并编写程序求该实验中的方程组Gauss消去法:用消去法解方程组的根本思想是用逐次消去未知数的方法把原来方程组 Ax=

2、b化为与其等价的三角方程组,而求解三角方程组就容易了。换句话说,上 述过程就是用行的初等变换将原方程组系数矩阵化为简单形式,从而将求解原方 程组的问题转化为求解简单方程组的问题。利用Gauss消去法对线性方程组Ax=b进展求解。用MATLAB建立m文件DelGauss.m,程序如下:function x=DelGauss(a,b)n,m=size(a);nb=length(b);det=1;x=zeros(n,1);for k=1:n-1for i=k+1:nif a(k,k)=0returnendm=a(i,k)/a(k,k);for j=k+1:na(i,j)=a(i,j)-m*a(k,j

3、);endb(i)=b(i)-m*b(k);enddet=det*a(k,k);enddet=det*a(n,n);for k=n:-1:1for j=k+1:nb(k)=b(k)-a(k,j)*x(j);endx(k)=b(k)/a(k,k);End在matlab中输入如下: A=anes( 83): B=S*one5(1, S4): C=8*ones(1, 83): D=dia.g (A, 1) -i-diag (Ej 0) Miag (C, -1): b=L7; 1503(82. Ik 14: DeLGauss (D, b)结果如下:1.0e+08 *0.00000.00000,0000

4、0.00000.00000.00000.00000.00000.00000.00000.0000O.-OOflO0.00000.ooco0.00000.0000o.ooco0.ooco0.ooco0.00000.00000.ooco0. 00000. 0000 o.oooa o. oooa 0. 0000 0. 00000. 00000. 0000 0.0000 0. 0000 0.0000 0. 0000a. oooa o.oooa o.oooa o. oooa 0. 0000o.oooa o.oooa o. oooa 0. 0000 o.ooaoo.oooa 0.0000 0. 0000u

5、.uuuu o.ooao 0. 00000.00000.0000 o.ooao 0.0000 -0.0000o.ooaa -o.ooao0. 0000 -0.00000. 0000 -0.00000. 0000 -0.00000. 0000-0.00000. 0000-0.00010. 0002-0.00030. 0007-0.00130. 0026 -0. 00520.0105-0.02090.0419-0.08360.1625-0.33030.16501-1.25822.3487-4.02635.36S4方程组的准确解为X=x2=,=x84=1.0000,与Gauss消去法求得的解差距很大

6、,所 得结果不够准确,计算简单但其消元过程有时不能进展到底而使求解出现解失真 的情况。数值线性代数实验二一、实验名称:实对称正定矩阵的A的Cholesky分解.二、实验目的:用平方根法和改良的平方根方法求解线性方程组Ax=b.三、实验内容与要求用所熟悉的计算机语言将Cholesky分解和改良的Cholesky分解编成通用的子程序,然后用 编写的程序求解对称正定方程组Ax=b,其中(1) b随机的选取,系数矩阵为100阶矩阵/ 10 1110 1110 1110 1110 11 10 /(2) 系数矩阵为40阶Hilbert矩阵,即系数矩阵A的第i行第j列元素为“, / 一 ; I ; I,向量

7、b的第i个分量为九一Z? 1 ,; |(3) 用实验一的程序求解这两个方程组,并比拟所有的计算结果,然后评价各个方法的 优劣。平方根法:平方根法就是利用对称正定矩阵的三角分解而得到的求解对称正定方程组 的一种有效方法。平方根法递推公式可以证明对于对称正定矩阵A,可以唯一地 分解成A=LLT,其中L是非奇异下三角形矩阵。模型二:利用平方根法对线性方程组Ax=b进展求解。用MATLAB建立m文件pingfg.m,程序如下:function x=pingfg(A,b)%Cholesky 分解n,n=size(A);L=zeros(n,n);%实际上不用为L申请空间,使用A即可L(1,1)=sqrt(

8、A(1,1);for k=2:nL(k,1)=A(k,1)/L(1,1);endfor k=2:n-1L(k,k)=sqrt(A(k,k)-sum(L(k,1:k-1).八2);for i=k+1:nL(i,k) = (A(i,k)-sum(L(i,1:k-1).*L(k,1:k-1)/L(k,k);endendL(n,n)=sqrt(A(n,n)-sum(L(n,1:n-1).八2); %解下三角方程组 Ly=b y=zeros(n,1);for k=1:nj=1:k-1;y(k) = (b(k)-L(k,j)*y(j)/L(k,k);end%解上三角方程组 Lx=yx=zeros(n,1)

9、;U=L;for k=n:-1:1j=k+1:n;x(k) = (y(k)-U(k,j)*x(j)/U(k,k);End模型三:利用改良的平方根法对线性方程组Ax=b进展求解。用MATLAB建立m文件ave.m,程序如下:function x=ave(A,b,n)L=zeros(n,n);D=diag(n,0);S=L*D;for i=1:nL(i,i)=1;endfor i=1:nfor j=1:nif (eig(A) A=ones(139): B=lOonesOj 100); C=iiag (Aj 1) +diag (Bj 0)+diag (七 -1): b=ones (IDO,1): p

10、iiigtg (C, b)输出结果如下:ana0. 09180. 08250. 08340. 08330. 08330. 08330. 08330. 08330. 08330.08330. 08330. 08330. 08330.08330. 0833Q. 08330. 0833Q. 00330. 08330. 08330. 08330. 08330. 08330. 08330.08330.0S330.08330.03330.03330.0B330.03330.0B330.08330.08330.08330.03330.03330.03330.08530.03330.08330.08330.0

11、8350.08330.08330.03330.08330.0B330.08330. 0833Q. 08330. 0833Q. 08330. 0833Q. 08330. 08330. 08330. 08330. 08330. 08330. 08330. 08330. 08330. 08330. 08330. 08330. 0833Q. 08330. 08330. 08330. 0833Q. 0833X 0. 0833U. UBJJ0. 08330. 0S330. 08330. 08330. 0833& 08330. 08330. 0833a. 0833a. 0833a. 0833a. 08330

12、.的33a. 0833a. 0835a. 0833a. 0833a. 08330. 0833a. 0833a. 033d0. 08250. 0918在输入: A=on?s(lj 99): E=10cm.es (lj LOO): C=diag (Aj l/+diag B-, O)-l-diag A, -1); b=on?s(100, 1):输出为:ave(C:bdOO)ails =0度180,08250.08340.08330.08330.08330,08330,0833O.OS330.08330.08330.08330X8330,0833U.U成O.OS330.08330.08330.08330.08330.08330,08330.08330.08330,08330.08330.08330.0833038330.08330.08330.08330.08330.08330.08330,08330.08330.08330.08340.08250.0918 A=hilb (40): pingfg (Aj b)ans -1. 0e-l-07 a0.0000-0.00000.0001-o. oow0v0171-0.09390.3305-0. 7fi851. 1B93-1.20770.7761-0.30260.0540.0135-0.0220-0.04500.0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号