高斯赛德尔迭代c语言_【数值分析】线性方程组的迭代式求解方法

上回书我们讲述了线性方程组的直接求解方法,这些方法利用系数矩阵满足的一些性质降低了求解的计算量。但对于规模较大的方程组来说,基于Gauss消元的直接求解方法就有些力不从心了。本章介绍线性方程组的迭代求解方法。

迭代法解方程的基本原理

1.概述

equation?tex=Ax%3Db 改写成
equation?tex=x%3DBx%2Bf ,如果这一迭代格式收敛,对这个式子不断迭代计算就可以得到方程组的解。

道理很简单:对

equation?tex=x%5E%7B%28k%2B1%29%7D%3Dbx%5E%7B%28k%29%7D%2Bf 两边取极限,显然如果收敛,则最终得到的解满足
equation?tex=%5Clim_%7Bk%5Crightarrow%5Cinfty+%7D+x%5E%7B%28k%29%7D%3Dx%5E%2A%3DBx%5E%2A%2Bf ,从而必然满足原方程
equation?tex=Ax%5E%2A%3Db

迭代方法的本质在于这一次的输出可以当作下一次的输入,从而能够实现循环往复的求解,方法收敛时,计算次数越多越接近真实值。

2.收敛条件

充要条件:迭代格式

equation?tex=x%3DBx%2Bf 收敛的充要条件是
equation?tex=%5Crho+%28B%29%3C1

充分条件

equation?tex=%5CVert+B%5CVert+%3C1

equation?tex=%5CVert+B%5CVert+%3C1+%5CRightarrow+%5Crho+%28B%29%3C1%5CLeftrightarrow+ 迭代收敛

一、Jacobi迭代法

怎样改写

equation?tex=Ax%3Db ,从而进行迭代求解呢?一种最简单的迭代方法就是把第i行的
equation?tex=x_i 分离出来(假定
equation?tex=a_%7Bii%7D+%5Cne+0 ):

equation?tex=%5Csum_%7Bj%3D1%7D%5E%7Bn%7Da_%7Bij%7Dx_j%3Db_i%5CRightarrow+x_i%3D%5Cfrac%7Bb_i-%5Csum_%7Bj%3D1%2Cj%5Cne+i%7D%5E%7Bn%7Da_%7Bij%7Dx_j%7D%7Ba_%7Bii%7D%7D%5Cquad+%5C%5C

这就是Jacobi(雅可比)迭代法。

迭代格式

给定

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值