数值分析-非线性方程的数值解法
二分法
这个就很简单了
取区间[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) ) * (x1 - 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