线性方程组的解法3.docVIP

  • 8
  • 0
  • 约4.7千字
  • 约 24页
  • 2017-09-02 发布于浙江
  • 举报
线性方程组的解法3

第二章 线性方程组的解法 基本解法迭代法和直接法。 直接方法大家已学过,我们重在分析程序写法。 §1 雅可比(Jacobi)迭代法 例: 求解线性方程组 分离出、、,构造迭代 取初值 得到近似解 准确解为 思路和方程迭代解法一样 极限存在 极限为根 线性方程组 矩阵 当 极限存在就是方程组的解, 本方法也适用于非线性方程组 迭代 极限存在 极限即为解 程序思想: 定义数组 A(n,n) X0(n) X(n) B(n) 读入组数 A B X0 (初值) Do 100 k=1,10 Do 200 i=1,n 三重循环 200 CONTINUE DO 300 i=1,n 300 X0(i)=X(i) 100 WRITE(*,*)X Stop End §2 高斯-塞德尔(Gauss-Seidel)迭代法 对雅可尔迭代稍加改进 就可得到更有效的计算公式 Jacobi迭代中,第次迭代时,都用的是第次迭代结果 例如 在此之前 到已经迭代出第k+1次结果。 我们用已有的到新值,可改造为 高斯-塞德尔迭代法 程序更简单: 定义数组 A(n,n) X0(n) X(n) B(n) 读入组数 A B X0 (初值) Do 100 k=1,10 Do 200 i=1,n 三重循环 200 CONTINUE DO 300 i=1,n 300 X0(i)=X(i) 100 WRITE(*,*)X Stop End §3 超松驰迭代法 我们要解的方程组是 矩阵形式 有初值 有一残余误差 将b的残余误差用来修正X,数学家也很伟大 当极限,极限即解 为什么收敛极限即解? 迭代公式: 注意可以,且必须含有该项 或 以上两式迭代有何异同? 当时 w减少 倍 不影响思想 可以证明 保证迭代收效 必须要求 低松弛法 超松弛法 迭代法的收放性 定理 所有迭代都可写成矩阵形式 对任意初值问差及任意 迭代收放的充要条件是: 为方阵B的特征值 定理(充分条件) 对任意收敛 对角元点优 对间钱上元素绝对值大于同行元素绝对值之和。 AX=b 则Jacobi Gauss-Seidel都收敛。 §4 高斯消去法 消去②中的 消去③中的 即消第i行的 经过上式得零。 或 直接让为零。 经过k-1次消元 第k次 消 用第k个方程消其下边方程中的 消第i个方程中的 消第i个方程中的时第i个方程中各项相应变化 当j=k时 或 消第i个方程中的时第i个方程中各项相应变化 强行让 DO 100 k=1, n-1 DO 200 i=k+1, n DO 300 j=k,n 300 CONTINUE 200 CONTINUE 100 CONTINUE 回代过程 程序结构: DO I=N-1,1,-1 T=0.0 DO J=I+1,N T=T+ ENDDO ENDDO 列主元素消去法 高斯消去法 碰到为零或很小时,消去无法进行。 人手工问时无所谓,为零更好该方程省得去消,但程序计算就不能进行 列主元素消去 调换方程顺序 注意调换方程顺序并不会改变未知数顺序 例 : 每次作消去时,判断不为零的剩余方阵第一列水最大。 比如做第k次消元(消)剩余k 乘 k 矩阵,则判断谁最大。 判断大小,只记最大位置 比如最大, 则用它去消剩余的。 为了程序设计方便我们将第m个方程移到第i个,一次下移。 或更简洁地将第i个与第m个进行对换。 必需作 注意:X矩阵不用变化。为什么?调整方程顺序,未知数的位置并不变。 这

文档评论(0)

1亿VIP精品文档

相关文档