matlab如何泰勒公式用求近似值_计算方法/数值分析-第一章(泰勒公式+误差传播规律)...

1、泰勒公式

(1)一元泰勒展开

函数在一个点的邻域内的值可以用函数在该点的值及各阶导数值组成的级数表示出来,设它在x0点存在直到n阶导数,由这些导数构造一个n次多项式如下

efd8d8c6145c235387c31c44df36d1ef.png

(2)多元泰勒展开

y=f(x1, x2, …, xn),则其在(x*1, x*2, x*3, …, x*n )处的泰勒展开式为:

6b64df26e55ac624eddd057a0eb13348.png

e83d804b103f55050456be1553e8a182.png

64941fb4e3e996d9d6c93e366d24bac4.png

3f88a534c0c26af4835c2b2ab9edd345.png

2、一元函数的情况

计算y=f(x)的值,设给定的值x*是近似值,由此计算得到的y也是近似值y*=f(x*),现在研究y*的绝对误差与相对误差。

x*在x处按照一阶泰勒展开,则会得如下结果:

86149def1e9c352f8e565a8afd65ebd4.png

cdca8b34b6b427e19842de1297cfd9a1.png

1b925289f59ea7a9de3f81e59c88e284.png

9aacc4753b049db205ec56089151ff0d.png

3、多元函数的情况

x*1, x*2, x*3, …, x*n ,依次是x1, x2, x3, …, xn的近似值,计算 的绝对误差和相对误差。

将 在 x*1, x*2, x*3, …, x*n处进行泰勒展开,最终可以得到y*的一阶绝对误差和相对误差如下:

f3b5f383143012b8757077e987d0376e.png

3a6ba0f11082a277ca47f9470f40b844.png

4、加、减、乘、除误差限的计算

两个近似数x*1,x*2,其误差分别为e(x*1)和e(x*2),对它们进行加、减、乘、除运算得到的误差分别为:

6ce80982051935c42be84c2cc5f3fd54.png

24b9ceb7b340c8d35220c7fe25fd06a5.png

d6e5cdf7f5fb523b0a7dc0b796738f1c.png

62ef1ccc96fb68afadbb9a72a9cc76e3.png

5.误差传播规律

一、尽量避免两个相近的数相减

1、数值计算中,两相近数相减会严重损失有效数字。

x=532.65,y=532.32都具有5位有效数字,但x-y=0.13有两位有效数字

2、如何避免这种运算发生(改变算法)

(1)当x很大时

15c15730ec64c9e513dcd4e985a33514.png

9d62eb13757432c792a706f4af82bea7.png

(2)当x1与x2很接近时

8db6a3f41944e3e5a7d06968e536049b.png

(3)当x接近于0时

8991a6343a94b86ea5ad7582a99f5c39.png

(4)一般情况下,当x*位于x附近时,可以用泰勒级数展开

二、避免大数吃小数的现象

1、若参加运算的数量级相差很大而计算机的位数有限,如不注意运算次序,可能出现大数“吃”小数现象,影响计算结果。

如:当|a|>>|b|时,尽量避免a+b

三、避免使用绝对值较小的数做除数

0cfe95f33c042012ddad14040128b109.png

四、注意简化计算步骤,减少运算次数

如果能够减少运算次数,即能节省计算机的运行时间,又能减少舍入误差。

五、选择数值稳定性好的算法 (重要,下面例子做实验)

把运算过程中舍入误差不增长的计算公式称为数值稳定的,否则称为不稳定的。


版权声明:本文为weixin_42464553原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。