迭代解法的matlab实现

迭代解法的matlab实现

ID:14151944

大小:277.00 KB

页数:12页

时间:2018-07-26

迭代解法的matlab实现_第1页
迭代解法的matlab实现_第2页
迭代解法的matlab实现_第3页
迭代解法的matlab实现_第4页
迭代解法的matlab实现_第5页
资源描述:

《迭代解法的matlab实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、高等教育出版社教育电子音像出版社作者:任玉杰第四章解线性方程组的迭代法的MATLAB程序第四章解线性方程组的迭代法解线性方程组的迭代法是从初始解出发,根据设计好的步骤用逐次求出的近似解逼近精确解.在第三章中介绍的解线性方程组的直接方法一般适合于为低阶稠密矩阵(指n不大且元多为非零)的情况,而在工程技术和科学计算中常会遇到大型稀疏矩阵(指n很大且零元较多)的方程组,迭代法在计算和存贮两方面都适合后一种情况.由于迭代法是通过逐次迭代来逼近方程组的解,所以收敛性和收敛速度是构造迭代法时应该注意的问题.另外,因为不同的系数矩阵具有不同的性态,所以大多数迭代方法都具有一定的适

2、用范围.有时,某种方法对于一类方程组迭代收敛,而对另一类方程组迭代时就发散.因此,我们应该学会针对具有不同性质的线性方程组构造不同的迭代.4.1迭代法和敛散性及其MATLAB程序4.1.2迭代法敛散性的判别及其MATLAB程序根据定理4.1和谱半径定义,现提供一个名为pddpb.m的M文件,用于判别迭代公式(4.7)产生的迭代序列的敛散性.用谱半径判别迭代法产生的迭代序列的敛散性的MATLAB主程序输入的量:线性方程组的迭代公式(4.7)中的;输出的量:矩阵的所有特征值和谱半径mH及其有关迭代法产生的迭代序列的敛散性的相关信息.functionH=ddpbj(B)H

3、=eig(B);mH=norm(H,inf);ifmH>=1disp('请注意:因为谱半径不小于1,所以迭代序列发散,谱半径mH和B的所有的特征值H如下:')elsedisp('请注意:因为谱半径小于1,所以迭代序列收敛,谱半径mH和B的所有的特征值H如下:')endmH4.1.3与迭代法有关的MATLAB命令(一)提取(产生)对角矩阵和特征值可以用表4–1的MATLAB命令提取对角矩阵和特征值.表4–1提取(产生)对角矩阵和特征值MATLAB命令功能DX=diag(X)若输入向量X,则输出DX是以X为对角元的对角矩阵;若输入矩阵X,则输出DX是以X的对角元构成的向

4、量;DX=diag(diag(X))输入矩阵X,输出DX是以X的对角元构成的对角矩阵,可用于迭代法中从A中提取D.lm=eig(A)输入矩阵A,输出lm是A的所有特征值.(二)提取(产生)上(下)三角形矩阵59.高等教育出版社教育电子音像出版社作者:任玉杰第四章解线性方程组的迭代法的MATLAB程序可以用表4–2的MATLAB命令提取矩阵的上三角形矩阵和下三角形矩阵.表4–2提取矩阵的上三角形矩阵和下三角形矩阵MATLAB命令功能U=triu(A)输入矩阵,输出是的上三角形矩阵.L=tril(A)输入矩阵,输出是的下三角形矩阵.U=triu(A,1)输入矩阵,输出是

5、的上三角形矩阵,但对角元为0,可用于迭代法中从中提取.L=tril(A,-1)输入矩阵,输出是的下三角形矩阵,但对角元为0,可用于迭代法中从中提取.(三)稀疏矩阵的处理对稀疏矩阵在存贮和运算上的特殊处理,是MATLAB进行大规模科学计算时的特点和优势之一.可以用表4–3的MATLAB命令,输入稀疏矩阵的非零元(零元不必输入),即可进行运算.表4–3稀疏矩阵的MATLAB命令MATLAB命令功能ZA=sparse(r,c,v,m,n)表示在第r行、第c列输入数值v,矩阵共m行n列,输出ZA,给出(r,c)及v为一稀疏矩阵.MA=full(ZA)输入稀疏矩阵ZA,输出为

6、满矩阵MA(包含零元)4.2雅可比(Jacobi)迭代及其MATLAB程序4.2.2雅可比迭代的收敛性及其MATLAB程序根据定理4.3和公式(4.14),现提供一个名为jspb.m的M文件如下:判别雅可比迭代收敛性的MATLAB主程序输入的量:线性方程组的系数矩阵;输出的量:系数矩阵的的值和有关雅可比迭代收敛性的相关信息.functiona=jspb(A)[nm]=size(A);forj=1:ma(j)=sum(abs(A(:,j)))-2*(abs(A(j,j)));endfori=1:nifa(i)>=0disp('请注意:系数矩阵A不是严格对角占优的,此雅

7、可比迭代不一定收敛')returnendendifa(i)<0disp('请注意:系数矩阵A是严格对角占优的,此方程组有唯一解,且雅可比迭代收敛')end例4.2.2用判别雅可比迭代收敛性的MATLAB主程序,判别由下列方程组的59.高等教育出版社教育电子音像出版社作者:任玉杰第四章解线性方程组的迭代法的MATLAB程序雅可比迭代产生的序列是否收敛?(1)(2)解(1)首先保存名为jspb.m的M文件,然后在MATLAB工作窗口输入程序>>A=[10-1-2;-110-2;-1-15];a=jspb(A)运行后输出结果请注意:系数矩阵A是严格对角占优的,此方程组

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。