数值运算的误差估计

数值运算的误差估计

近似数 x i ∗ x_{\mathrm{i}}^{*} xi x 2 ∗ x_{2}^{*} x2,误差限 ε ( x 1 ∗ ) (x_1^{*}) (x1)及 ε ( x 2 ∗ ) (x_2^{*}) (x2)

进行加减运算得到的误差限为

ε ( x 1 ∗ ± x 2 ∗ ) = ε ( x 1 ∗ ) + ε ( x 2 ∗ )   , \varepsilon(x_1^*\pm x_2^*)=\varepsilon(x_1^*)+\varepsilon(x_2^*)\:, ε(x1±x2)=ε(x1)+ε(x2),

进行乘法运算得到的误差限为

ε ( x 1 ∗ x 2 ∗ ) ≈ ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) + ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) , \varepsilon(x_1^*x_2^*)\approx\mid x_1^*\mid\varepsilon(x_2^*)+\mid x_2^*\mid\varepsilon(x_1^*), ε(x1x2)≈∣x1ε(x2)+x2ε(x1),

进行除法运算得到的误差限为
ε ( x 1 ∗ x 2 ∗ ) ≈ ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) + ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) ∣ x 2 ∗ ∣ 2 ( x 2 ∗ ≠ 0 ) . \varepsilon\left(\frac{x_1^*}{x_2^*}\right)\approx\frac{\mid x_1^*\mid\varepsilon(x_2^*)+\mid x_2^*\mid\varepsilon(x_1^*)}{\mid x_2^*\mid^2}\quad(x_2^*\neq0). ε(x2x1)x22x1ε(x2)+x2ε(x1)(x2=0).
更一般的情况是,当自变量有误差时,计算函数值也会产生误差。

这种误差限可利用函数的 Taylor 展开式进行估计。

f ( x ) f(x) f(x)是一元函数, x x x 的近似值为 x ∗ x^* x,以 f ( x ∗ ) f(x^*) f(x)近似 f ( x ) f(x) f(x),其误差限记作 ε ( f ( x ∗ ) ) \varepsilon(f(x^*)) ε(f(x)),可用 Taylor 展开

f ( x ) − f ( x ∗ ) = f ′ ( x ∗ ) ( x − x ∗ ) + f ′ ′ ( ξ ) 2 ( x − x ∗ ) 2 , f(x)-f(x^*)=f'(x^*)(x-x^*)+\frac{f''(\xi)}{2}(x-x^*)^2, f(x)f(x)=f(x)(xx)+2f′′(ξ)(xx)2,

ξ \xi ξ介于 x , x ∗ x,x^* x,x之间。

取绝对值得

∣ f ( x ) − f ( x ∗ ) ∣ ⩽ ∣ f ′ ( x ∗ ) ∣ ε ( x ∗ ) + ∣ f ′ ′ ( ξ ) ∣ 2 ε 2 ( x ∗ ) . \mid f(x)-f(x^*)\mid\leqslant\mid f^{\prime}(x^*)\mid\varepsilon(x^*)+\frac{\mid f^{\prime\prime}(\xi)\mid}{2}\varepsilon^2(x^*). f(x)f(x)f(x)ε(x)+2f′′(ξ)ε2(x).

假定 f ′ ( x ∗ ) f^\prime(x^*) f(x) f ′ ′ ( x ∗ ) f^{\prime\prime}(x^*) f′′(x)的比值不太大,可忽略 ε ( x ∗ ) (x^*) (x)的高阶项,于是可得计算函数的误差限为
( f ( x ∗ ) ) ≈ ∣ f ′ ( x ∗ ) ∣ ε ( x ∗ ) . (f(x^{*}))\approx\mid f^{\prime}(x^{*})\mid\varepsilon(x^{*}). (f(x))≈∣f(x)ε(x).

f f f为多元函数时计算 A = f ( x 1 , x 2 , ⋅ ⋅ ⋅ , x n ) A=f(x_1,x_2,\cdotp\cdotp\cdotp,x_n) A=f(x1,x2,⋅⋅⋅,xn),如果 x 1 , x 2 , ⋅ ⋅ ⋅ , x n x_1,x_2,\cdotp\cdotp\cdotp,x_n x1,x2,⋅⋅⋅,xn的近似值为 x 1 ∗ , x 2 ∗ ⋯   , x n ∗ x_1^*,x_2^*\cdots,x_n^* x1,x2,xn,则 A A A 的近似值为 A ∗ = f ( x 1 ∗ , x 2 ∗ , ⋯   , x n ∗ ) A^*=f(x_1^*,x_2^*,\cdots,x_n^*) A=f(x1,x2,,xn),于是函数值 A ∗ A^* A的误差 e ( A ∗ ) e(A^*) e(A)由 Taylor 展开,得

e ( A ∗ ) = A ∗ − A = f ( x 1 ∗ , x 2 ∗ , ⋯   , x n ∗ ) − f ( x 1 , x 2 , ⋯   , x n ) ≈ ∑ k = 1 n ( ∂ f ( x 1 ∗ , x 2 ∗ , ⋯   , x n ∗ ) ∂ x k ) ( x k ∗ − x k )   =   ∑ k = 1 n ( ∂ f ∂ x k ) ∗ e k ∗   \begin{aligned}&e(A^*)=A^*-A=f(x_1^*,x_2^*,\cdots,x_n^*)-f(x_1,x_2,\cdots,x_n) \\&\approx\sum_{k=1}^n\Big(\frac{\partial f(x_1^*,x_2^*,\cdots,x_n^*)}{\partial x_k}\Big)(x_k^*-x_k)\:=\:\sum_{k=1}^n\Big(\frac{\partial f}{\partial x_k}\Big)^*e_k^*\ \end{aligned} e(A)=AA=f(x1,x2,,xn)f(x1,x2,,xn)k=1n(xkf(x1,x2,,xn))(xkxk)=k=1n(xkf)ek 

于是误差限为

ε ( A ∗ ) ≈ ∑ k = 1 n ∣ ( ∂ f ∂ x k ) ∗ ∣ ε ( x k ∗ ) \varepsilon(A^*)\approx\sum_{k=1}^n\left|\left(\frac{\partial f}{\partial x_k}\right)^*\right|\varepsilon(x_k^*) ε(A)k=1n (xkf) ε(xk)

A ∗ A^* A的相对误差限为

ε r ∗ = ε r ( A ∗ ) = ε ( A ∗ ) ∣ A ∗ ∣ ≈ ∑ k = 1 k ∣ ( ∂ f ∂ x k ) ∗ ∣ ε ( x k ∗ ) ∣ A ∗ ∣ \varepsilon_{\mathrm{r}}^{*}=\varepsilon_{\mathrm{r}}(A^{*})=\frac{\varepsilon(A^{*})}{\mid A^{*}\mid}\approx\sum_{k=1}^{k}\left|\left(\frac{\partial f}{\partial x_{k}}\right)^{*}\right|\frac{\varepsilon(x_{k}^{*})}{\mid A^{*}\mid} εr=εr(A)=Aε(A)k=1k (xkf) Aε(xk)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

F_D_Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值