Matlab求解线性方程组(一)共轭梯度法

一,算法原理

共轭梯度法可以看作是特殊的迭代法,有迭代法的格式,即首先给出x(0),再由迭代格式

x ( k + 1 ) = x ( k ) + α k d ( k ) { {x}^{(k+1)}}={ {x}^{(k)}}+{ {\alpha }_{k}}{ {d}^{(k)}} x(k+1)=x(k)+αkd(k)

进行迭代,那么关键就是求出两个因素:方向 d ( k ) { {d}^{(k)}} d(k)和步长 α k { {\alpha }_{k}} αk

首先确定最佳步长 α k { {\alpha }_{k}} αk,假设 x ( k ) { {x}^{(k)}} x(k)和搜索方向 d ( k ) { {d}^{(k)}} d(k)已给定,那么通过一元函数

ϕ ( α ) = f ( x ( k ) + α k d ( k ) ) \phi (\alpha )=f({ {x}^{(k)}}+{ {\alpha }_{k}}{ {d}^{(k)}}) ϕ(α)=f(x(k)+αkd(k))

求极小值。令 ϕ ′ ( α ) = 0 \phi '(\alpha )=0 ϕ(α)=0 ( α \alpha α 为变量,其他为已知数)得到:

[ A ( x ( k ) + α d ( k ) ) − b ] T d ( k ) = 0 { {\left[ A\left( { {x}^{(k)}}+\alpha { {d}^{(k)}} \right)-b \right]}^{T}}{ {d}^{(k)}}=0 [A(x(k)+αd(k))b]Td(k)=0
( − r ( k ) + α A d ( k ) ) T d ( k
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值