| 查看: 791 | 回复: 3 | |||
[求助]
求加速迭代的λ 已有2人参与
|

wurongjun
专家顾问 (职业作家)
-

专家经验: +831 - 数学EPI: 9
- 应助: 791 (博后)
- 贵宾: 0.308
- 金币: 24609
- 散金: 310
- 红花: 75
- 帖子: 3004
- 在线: 881.4小时
- 虫号: 1368482
- 注册: 2011-08-14
- 性别: GG
- 专业: 计算数学与科学工程计算
- 管辖: 数学

2楼2016-01-25 18:12:03
【答案】应助回帖
★ ★ ★ ★
感谢参与,应助指数 +1
小石头ww: 金币+4, ★有帮助 2016-01-26 18:16:36
感谢参与,应助指数 +1
小石头ww: 金币+4, ★有帮助 2016-01-26 18:16:36
|
1)假设存在解x*,在迭代格式l两边减去x*,得到绝对误差ε_k+1和ε_k的关系 x_k+1 = (lam / (1+lam) ) * x_k + psi(x_k)/(1+lam) => ε_k+1 = (lam / (1+lam) ) * ε_k + (psi(x_k) - x*)/(1+lam) 把psi(x_k)在x*附近展开Taylor,psi(x_k)=psi(x*)+psi(x*)’ (x_k-x*) 注意到psi(x*)=x* (psi(x_k) - x*)=psi(x*)*ε_k 整理得 ε_k+1/ε_k=(lam + psi(x*)’ )/(1+lam) 虽然是线性收敛,但可以令其绝对值最小来得到近可能小的prefactor,起到加速的目的 所以最佳的lam是lam = -psi(x*)’ 2)虽然最佳的值需要知道收敛点才行,不过有个好的近似解就足够了, psi(x)=1-sin(x),题目给出了初始x0=0.5,刚好x=pi/6与0.5接近,0.5是一个近似解,所以可取lam=cos(pi/6) 对题目的数据计算了一组数据,可与分析的结果比对 NUM LAM=cos(pi/6) LAM=0(未加速) 1 0.511025820631418 0.520574461395797 2 0.510973254453794 0.502621415553111 3 0.510973429973883 0.518275602715637 4 0.510973429386611 0.504617065199171 5 0.510973429388576 0.516527729903438 6 0.510973429388569 0.506136154042362 7 0.510973429388569 0.515198539133488 8 0.510973429388569 0.507292373509378 9 0.510973429388569 0.514187605849655 10 0.510973429388569 0.508172334135418 11 0.510973429388569 0.513418652918452 12 0.510973429388569 0.508842001077431 13 0.510973429388569 0.512833717404165 14 0.510973429388569 0.509351605145401 15 0.510973429388569 0.512388738744310 16 0.510973429388569 0.509739389267215 17 0.510973429388569 0.512050216278189 18 0.510973429388569 0.510034465372883 19 0.510973429388569 0.511792673942155 20 0.510973429388569 0.510258992040553 |

3楼2016-01-25 19:28:00
【答案】应助回帖
★
小石头ww(Edstrayer代发): 金币+1 2016-02-04 03:31:22
小石头ww(Edstrayer代发): 金币+1 2016-02-04 03:31:22

4楼2016-01-25 19:47:28













回复此楼