数值计算笔记-非线性方程求解

2.1根本问题

1.问题:我们经常遇到f(x) = 0求解的问题.我们想要知道当f(x)为非线性方程时有什么方法求解f(x)的零点,也就是上面方程的根.在这里会介绍二分法,不动点迭代法,牛顿法,割线法,逆二次插值法,zeroin法.

2.2问题的基本概念和敏感性

1.根的重数:对光滑函数f,若
f ( x ∗ ) = f ′ ( x ∗ ) = ⋯ = f m − 1 ( x ∗ ) = 0 ∧ f m ( x ∗ ) ≠ 0 f(x^*) = f'(x^*) = \cdots = f^{m - 1}(x^*) = 0 \land f^m(x^*) \neq 0 f(x)=f(x)==fm1(x)=0fm(x)=0

x ∗ x^* x为方程的m重根

2.问题的敏感性

求解非线性方程的f(x) = y问题是“已知y = 0,求x = ?”

问题条件数: c o n d = ∣ Δ x Δ y ∣ ≈ 1 ∣ f ′ ( x ∗ ) ∣ cond = |\frac{\Delta x}{\Delta y}| \approx \frac{1}{|f'(x^*)|} cond=ΔyΔxf(x)1

2.3二分法

1.二分法(初中学的二分法)

输入:有根区间[a, b],函数f(x)

输出:零点 x ∗ x^* x

(1) x 0 = a , k = 0 , a 0 = a , b 0 = b x_0 = a, k = 0, a_0 = a, b_0 = b x0=a,k=0,a0=a,b0=b

(2)若 b k − a k < ϵ b_k - a_k < \epsilon bkak<ϵ,则 x ∗ = x k x^* = x_k x=xk结束

(3)若 s i g n ( f ( x k ) ) = s i g n ( f ( a k ) ) sign(f(x_k)) = sign(f(a_k)) sign(f(xk))=sign(f(ak)),则 a k + 1 = x k , b k + 1 = b k a_{k + 1} = x_k, b_{k+1} = b_k ak+1=xk,bk+1=bk,否则 a k + 1 = a k , b k + 1 = x k a_{k + 1} = a_k, b_{k + 1} = x_k ak+1=ak,bk+1=xk

(4)k = k + 1转(2)

2.误差分析,机械精度 ϵ \epsilon ϵ

最终停止时: b k − a k = 2 ⌊ l o g 2 ∣ x ∗ ∣ ⌋ ⋅ 2 ϵ b_k - a_k = 2^{\lfloor log_2|x^*|\rfloor} \cdot 2\epsilon bkak=2log2x2ϵ

绝对误差: e ( x k ) = ∣ x k − x ∗ ∣ ≤ 2 ⌊ l o g 2 ∣ x ∗ ∣ ⌋ ⋅ 2 ϵ e(x_k) = |x_k - x^*| \leq 2^{\lfloor log_2|x^*|\rfloor} \cdot 2\epsilon e(xk)=xkx2log2x2ϵ

相对误差: e r ( x k ) = ∣ x k − x ∗ ∣ ∣ x ∗ ∣ ≤ 2 ϵ e_r(x_k) = \frac{|x_k - x^*|}{|x^*|} \leq 2\epsilon er(xk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值