迭代解法的matlab实现.docxVIP

  • 56
  • 0
  • 约1.32万字
  • 约 11页
  • 2022-11-22 发布于上海
  • 举报
第四章 解线性方程组的迭代法 第四章 解线性方程组的迭代法 解线性方程组 AX b 的迭代法是从初始解出发,根据设计好的步骤用逐次求出的近似解逼近精确解.在第三章中介绍的解线性方程组的直接方法一般适合于 A 为低阶稠密矩阵(指 n 不大且元多为非零)的情况,而在工程技术和科学计算中常会遇到大型稀疏矩阵(指 n 很大且零元较多)的方程组,迭代法在计算和存贮两方面都适合后一种情况.由于迭代法是通过逐次迭代来逼近方程组的解,所以收敛性和收敛速度是构造迭代法时应该注意的问题.另外,因为不同的系数矩阵具有不同的性态,所以大多数迭代方法都具有一定的适用范围.有时,某种方法对于一类方程组迭代收敛,而对另一类方程组迭代时就发散.因此,我们应该学会针对具有不同性质的线性方程组构造不同的迭代. 迭代法和敛散性及其 MATLAB 程序 迭代法敛散性的判别及其 MATLAB 程序 根据定理 4.1 和谱半径定义,现提供一个名为 pddpb.m 的 M 文件,用于判别迭代公式(4.7)产生的迭代序列的敛散性. 用谱半径判别迭代法产生的迭代序列的敛散性的MATLAB 主程序输入的量:线性方程组 AX b 的迭代公式(4.7)中的 B ; 输出的量:矩阵 B 的所有特征值和谱半径mH (B )及其有关迭代法产生的迭代序 列的敛散性的相关信息. functionH=ddpbj(B) H=eig(B);mH=norm(H,inf); ifmH=1 disp(请注意:因为谱半径不小于1,所以迭代序列发散,谱半径mH 和B 的所有的特征值H 如下:) else disp(请注意:因为谱半径小于1,所以迭代序列收敛,谱半径mH 和B 的所有的特征值H 如下:) end mH 与迭代法有关的 MATLAB 命令 (一) 提取(产生)对角矩阵和特征值 可以用表 4–1 的 MATLAB 命令提取对角矩阵和特征值. MATLAB 命令 DX=diag(X) DX=diag(diag(X)) lm=eig(A) 表 4–1 提取(产生)对角矩阵和特征值 功 能 若输入向量 X ,则输出 DX 是以 X 为对角元的对角矩阵; 若输入矩阵 X ,则输出 DX 是以 X 的对角元构成的向量; 输入矩阵 X ,输出 DX 是以 X 的对角元构成的对角矩阵, 可用于迭代法中从 A 中提取 D . 输入矩阵 A ,输出lm 是 A 的所有特征值. (二) 提取(产生)上(下)三角形矩阵 可以用表 4–2 的 MATLAB 命令提取矩阵的上三角形矩阵和下三角形矩阵. MATLAB 命令 U=triu(A) L=tril(A) U=triu(A,1) L=tril(A,-1) 表 4–2 提取矩阵的上三角形矩阵和下三角形矩阵 功 能 输入矩阵 A ,输出U 是 A 的上三角形矩阵. 输入矩阵 A ,输出 L 是 A 的下三角形矩阵. 输入矩阵 A ,输出U 是 A 的上三角形矩阵,但对角元为 0,可用于迭代法中从 A 中提取U . 输入矩阵 A ,输出 L 是 A 的下三角形矩阵,但对角元为 0,可用于迭代法中从 A 中提取 L . (三)稀疏矩阵的处理 对稀疏矩阵在存贮和运算上的特殊处理,是 MA TLAB 进行大规模科学计算时的特点和优势之一.可以用表 4–3 的MATLAB 命令,输入稀疏矩阵的非零元(零元不必输入),即可进行运算. MATLAB 命令 ZA=sparse(r,c,v,m,n) MA=full(ZA) 表 4–3 稀疏矩阵的MATLAB 命令 功 能 表示在第 r 行、第 c 列输入数值 v,矩阵共 m 行 n 列,输出 ZA ,给出 (r,c) 及 v 为一稀疏矩阵. 输入稀疏矩阵 ZA ,输出为满矩阵 MA (包含零元) 雅可比(Jacobi)迭代及其 MATLAB 程序 雅可比迭代的收敛性及其 MATLAB 程序 根据定理 4.3 和公式(4.14),现提供一个名为jspb.m 的 M 文件如下: 判别雅可比迭代收敛性的MATLAB 主程序 输入的量:线性方程组 AX b 的系数矩阵 A ; n 输出的量:系数矩阵 A a 雅可比迭代收敛性的相关信息. functiona=jspb(A) [n m]=size(A); forj=1:m  ij n n 的a a kj j 1 i k a (k 1,2, ,n)的值和有关 kk a(j)=sum(abs(A(:,j)))-2*(abs(A(j,j))); end 收敛) fori=1:n ifa(i)=0 disp(请注意:系数矩阵A 不是严格对角占优的,此雅可比迭代不一定 return end end ifa(i)0 disp(请注意:系数矩阵A 是严格对角占优的,此方程组有唯一解,且雅可比迭代

文档评论(0)

1亿VIP精品文档

相关文档