南京邮电大学数值代数实验_第1页
南京邮电大学数值代数实验_第2页
南京邮电大学数值代数实验_第3页
南京邮电大学数值代数实验_第4页
南京邮电大学数值代数实验_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用文档 数值代数实验 数值线性代数实验一 一、实验名称:矩阵的LU分解. Ax=b, 并比较这分解求解线性方程组 二、实验目的:用不选主元的LU分解和列主元LU两种方法. 三、实验内容与要求 (1)用所熟悉的计算机语言将不选主元和列主元LU分解编成通用的子程序,然后用编写的程序求解下面的84阶方程组 将计算结果与方程组的精确解进行比较,并就此谈谈你对Gauss消去法的看法. (2)写出追赶法求解三对角方程组的过程,并编写程序求该实验中的方程组 Gauss消去法: 用消去法解方程组的基本思想是用逐次消去未知数的方法把原来方程组Ax=b化为与其等价的三角方程组,而求解三角方程组就容易了。换句话说

2、,上述过程就是用行的初等变换将原方程组系数矩阵化为简单形式,从而将求解原方程组的问题转化为求解简单方程组的问题。 利用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-1 for i=k+1:n if a(k,k)=0 return end m=a(i,k)/a(k,k); for j=k+1:n a(i,j)=a(i,j)-m*a(k,j); end b(i)=b

3、(i)-m*b(k); end det=det*a(k,k); end det=det*a(n,n); for k=n:-1:1 for j=k+1:n b(k)=b(k)-a(k,j)*x(j); end x(k)=b(k)/a(k,k); End 在matlab中输入如下: 实用文档 结果如下: 实用文档 方程组的精确解为x=x=x=1.0000,与Gauss消去法求得的解差距很大,8412所得结果不够准确,计算简单但其消元过程有时不能进行到底而使求解出现解失真的情况。 数值线性代数实验二 A的Cholesky一、实验名称:实对称正定矩阵的分解. Ax=b. 二、实验目的:用平方根法和改进

4、的平方根方法求解线性方程组 实用文档 三、实验内容与要求 用所熟悉的计算机语言将Cholesky分解和改进的Cholesky分解编成通用的子程序,然后Ax=b,其中用编写的程序求解对称正定方程组 (1) b随机的选取,系数矩阵为100阶矩阵 (2) 系数矩阵为40阶Hilbert矩阵,即系数矩阵A的第i行第j列元素为 个分量为i,向量b的第 (3) 用实验一的程序求解这两个方程组,并比较所有的计算结果,然后评价各个方法的 优劣。平方根法: 平方根法就是利用对称正定矩阵的三角分解而得到的求解对称正定方程组的一种有效方法。平方根法递推公式可以证明对于对称正定矩阵A,可以唯一地分解成A=LL,其中L

5、是非奇异下三角形矩阵。 T模型二:利用平方根法对线性方程组Ax=b进行求解。 用MATLAB建立m文件pingfg.m,程序如下: 分解 %Cholesky function x=pingfg(A,b) n,n=size(A); 即可 申请空间,使用A 实际上不用为L=zeros(n,n);% L L(1,1)=sqrt(A(1,1); k=2:nfor L(k,1)=A(k,1)/L(1,1); 实用文档 end k=2:n-1for L(k,k)=sqrt(A(k,k)-sum(L(k,1:k-1).2); i=k+1:nfor L(i,k)=(A(i,k)-sum(L(i,1:k-1).

6、*L(k,1:k-1)/L(k,k); end end Ly=b解下三角方程组L(n,n)=sqrt(A(n,n)-sum(L(n,1:n-1).2);% y=zeros(n,1); k=1:nfor j=1:k-1; j)/L(k,k); y(k)=(b(k)-L(k,j)*y( Lx=y%解上三角方程组 end x=zeros(n,1); U=L; k=n:-1:1for j=k+1:n; j)/U(k,k);x(k)=(y(k)-U(k,j)*x( End 模型三:利用改进的平方根法对线性方程组Ax=b进行求解。 用MATLAB建立m文件ave.m,程序如下: Ax=b用改进平方根法求解

7、 % function x=ave(A,b,n) 矩阵n*n%L L=zeros(n,n); 为 实用文档 的主对角矩阵为n*n %D D=diag(n,0); S=L*D; 1的主对角元素均为 %L for i=1:n L(i,i)=1; end for i=1:n 是否为对称正定矩阵A %验证 j=1:n for wrong非对称时,输出0或Aif (eig(A)=0)|(A(i,j)=A(j,i) %A的特征值小于 end;);breakdisp(wrong end endHilbert矩阵用MATLAB建立m文件Hil.m,程序如下: b=Hil()function k=1:40for

8、 m=1:40for s=0; t=s+1/(k+m-1); s=t; end b(k,1)=s; end 实用文档 在matlab中输入如下: 输出结果如下: 实用文档 实用文档 在输入: 输出为: 实用文档 . 实用文档 实用文档 :问题3 实用文档 . 实用文档 Gauss消去法所得的结果与平方根法和改进的平方根法求得的结果差距很大,而且Gauss消去法所得的结果大部分为零,显然平方根法和改进的平方根 实用文档 法求得的结果与方程的精确解比Gauss消去法的更接近,更准确。但不管是哪一类算法都只能在预定的计算步骤内或给定的精度内得到近似解,有一定的误差。 数值线性代数实验三 AQR分解的

9、一、实验名称:矩阵 二、实验目的:应用改进的GramSchmidt方法和Householder变换的方法计算矩阵A(a)R(mn), rank =的分解其中AQRnn?m A. ?ij三、实验内容与要求 ,(,1,)的各列输入:ATna?jaa?aa?a? mj1n2jj1输出:的各列元素(存放在的相应位置上)以及的元素RAQr(i?1,?,n,j?i,?,n) ij数值线性代数实验四 一、实验名称:用迭代法求解方程组及超松弛迭代和最佳松弛因子的确定. 应用Jacobi迭代法、GaussSeidel迭代法和超松弛迭代方法求解二、实验目的:?Ax=b, , 观察松弛因子对松弛迭代法计算效果的并选

10、择不同的松弛因子线性方程组影响. 三、实验内容与要求 2?ydyd?a?0?a?1Ax=b,取方程得散化(程微 将常分方到差分)离 2dxdx?y(0)?0,y(1)?1?1?100,h?a?0.5,n应用Jacobi迭代法、GaussSeidel迭代法和超松弛迭代, n 实用文档?1,0.1,0.01,0.0001?迭代法计算对应的数值解,方法求解线性方程组,分别取SOR,用. 写出这三种迭代法求解线性方程组的步骤,并对计算结果进行分析并与精确解进行比较. 四、实验原理 等分,方程离散化得差分方程将0,1区间n 2?ah?yy?(2?h)y(?h) 1i?ii?1 差分方程对应的系数矩阵和右端项分别为?2?)?h?(2h?yah?0?2h?h)?(2?ah?O?A?b)?h(2M?2OOh?ah?2)?(2h?yhah?()?n1)n?(n?1)?(1?1)(n其中(1).?yyy?(0),y n0 SOR迭代法的迭代矩阵和常数项分别为1?1?bL)(DU?(1?f)D,?B(D?L ?k?1k 迭代法的迭代公式:SORf?y?By ? 五、实验过程?1,0.1,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论