数值分析-非线性方程的数值解法

二分法

这个就很简单了

取区间[x1,x2]   f(x1) * f(x2) < 0

那么必定有解在此区间中

取区间中点 xmid

判断f(x1) * f(xmid) 和 f(x2)*f(xmid)

这样就能去掉一半的区间

这样不断迭代下去即可

 

不动点迭代

将f(x)改写为x = Φ(x)

xk+1 =  Φ(xk)

不断迭代即可

 

对于f(x)往往有不同的转化方式

有的转化方式收敛,有的转化方式发散

 

存在性与收敛性

若对任意x 属于[a, b],  Φ(x)也属于[a,b]

存在常数L < 1使得| Φ(x) - Φ(y) | <= L |x - y|

则Φ(x)在[a, b]上存在唯一的不动点

 

|xk - x*| <= (   Lk / (1 - L)  ) * (x- x0)

 

|xk - xk-1| <= Lk|x1 - x0|

 

牛顿法

这个就是利用泰勒多项式

f(x) = f(xk) + f'(xk) * (x - xk)

令f(x) = 0解得

xk+1 = xk - f(xk) / f'(xk)

终止条件

当|e| < e1 或者 |f1| < e2时终止迭代

当|x1| < C 时  e = |x1 - x0|

当|x1| >= C时 e = |x1 - x0| / |x1|

一般取C = 1

posted @ 2019-01-14 15:19  shensobaolibin  阅读(980)  评论(0编辑  收藏  举报