ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 9.1 数值微分 > 原文: [http://math.mit.edu/~djk/calculus_beginners/chapter09/section01.html](http://math.mit.edu/~djk/calculus_beginners/chapter09/section01.html) **我们怎样才能找到函数导数的良好近似值?** 显而易见的方法是选择一个非常小的![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)并计算![](https://img.kancloud.cn/b3/aa/b3aa9ba293bf0a78e34ae23551ac21ee_124x39.gif),这看起来像导数的定义。实际上,这不是一个好主意。 **为什么?** 问题是你的计算方法不是无限准确的,特别是如果![](https://img.kancloud.cn/90/34/90340615fd75f4a3550a82c374838b6b_34x18.gif)或![](https://img.kancloud.cn/6a/df/6adf26d3385d2cd5ce11b12620c89fea_65x18.gif)是无理数。这意味着您的评估中有时会出现小错误。当![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)很小时,![](https://img.kancloud.cn/6a/df/6adf26d3385d2cd5ce11b12620c89fea_65x18.gif)和![](https://img.kancloud.cn/90/34/90340615fd75f4a3550a82c374838b6b_34x18.gif)会因![](https://img.kancloud.cn/06/c6/06c6a8bcd471b1c93365ce71085285bf_88x18.gif)之类的不同而相互不同,但是你的计算误差将大致独立于![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)。因此,当您使![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)变小时,您的错误与![](https://img.kancloud.cn/06/c6/06c6a8bcd471b1c93365ce71085285bf_88x18.gif)的比率会增加。将结果除以非常小的![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)与将其乘以非常大的![](https://img.kancloud.cn/32/46/324646a12a407f03a7b862b4af90796d_10x37.gif)相同,并且放大了误差。当![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)变得小于计算误差的大小时,你得到的导数估计将主要是计算错误,并且很少会告诉你![](https://img.kancloud.cn/c7/9b/c79b8f79347fde2a814096cf3233474d_77x18.gif)。以这种方式出现的错误通常称为舍入错误。 这样做的结果是你真的想只使用相对较大的![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)值来计算导数。 **这可能吗?** 答案是肯定的!这样做很有趣。 **怎么样?** 这是基本思想:假设你的函数![](https://img.kancloud.cn/18/8e/188ee644e8202aad30eac11166858841_10x16.gif)不仅是可微分的,而且它的导数在参数![](https://img.kancloud.cn/77/90/7790dd0efb4a03a4c876741804d9b559_10x8.gif)中也是可微分的,它的导数也是如此。 如果是这样,![](https://img.kancloud.cn/6a/df/6adf26d3385d2cd5ce11b12620c89fea_65x18.gif)的值可以用幂级数来描述, ![](https://img.kancloud.cn/18/66/18660be3990b6d3ca1d0177cf847d387_127x24.gif) (此处![](https://img.kancloud.cn/5d/22/5d22c16e9730072e87b7b7b6e2f8367c_58x22.gif)表示在![](https://img.kancloud.cn/7a/a0/7aa029a43eb22e941bdfbb167770df98_50x11.gif)评估的![](https://img.kancloud.cn/90/34/90340615fd75f4a3550a82c374838b6b_34x18.gif)的![](https://img.kancloud.cn/b5/39/b539e2262ffc5f38cd0be3d7f551ae38_23x20.gif)导数。)为了证明这一点,计算![](https://img.kancloud.cn/e4/49/e44953859af658b0265cca6a1cc0fc65_43x13.gif) ![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)和二阶导数等两侧的导数。 我们想要![](https://img.kancloud.cn/c7/9b/c79b8f79347fde2a814096cf3233474d_77x18.gif),所以我们想摆脱![](https://img.kancloud.cn/83/e1/83e1b5a20a6b64f41ce252094583af6d_15x16.gif)和右边的其他条款。 如果我们形成![](https://img.kancloud.cn/b3/aa/b3aa9ba293bf0a78e34ae23551ac21ee_124x39.gif),我们将获得![](https://img.kancloud.cn/18/66/18660be3990b6d3ca1d0177cf847d387_127x24.gif)并且![](https://img.kancloud.cn/18/66/18660be3990b6d3ca1d0177cf847d387_127x24.gif)的误差项与![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)成比例。 另一方面,如果我们改为形成 **![](https://img.kancloud.cn/b1/70/b1709534efa9f149a6b68998fda7f577_155x39.gif)** ,那么具有![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)偶数幂的上述系列中的所有项都会消失,我们得到![](https://img.kancloud.cn/18/66/18660be3990b6d3ca1d0177cf847d387_127x24.gif)此表达式中的误差项与![](https://img.kancloud.cn/83/e1/83e1b5a20a6b64f41ce252094583af6d_15x16.gif)。 这已经比明显的估计有了很大的改进。这里误差减少为![](https://img.kancloud.cn/83/e1/83e1b5a20a6b64f41ce252094583af6d_15x16.gif)而不是![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)减少![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)。奇妙的是,我们可以做得更好,通过消除![](https://img.kancloud.cn/d3/ea/d3ea0a9cbc9fcf433e0f2389ffa1011a_26x22.gif)术语,然后![](https://img.kancloud.cn/11/b7/11b79e4e2e2f029e5d59d126ef8d370a_26x22.gif)术语,依此类推,就我们想要的而言。 我们怎么做? 那么,您可以将![](https://img.kancloud.cn/b1/70/b1709534efa9f149a6b68998fda7f577_155x39.gif)的评估与![](https://img.kancloud.cn/ac/1c/ac1cbf2f5860d70a31d3a6f5bc201fa0_173x40.gif)中的一个结合起来。其中第二个在功率系列中具有相同的![](https://img.kancloud.cn/c7/9b/c79b8f79347fde2a814096cf3233474d_77x18.gif)项,但![](https://img.kancloud.cn/ba/da/bada0a5fcbb40c86de47bdd5952b2db1_9x13.gif)项![](https://img.kancloud.cn/83/e1/83e1b5a20a6b64f41ce252094583af6d_15x16.gif)项更多。因此,如果我们形成![](https://img.kancloud.cn/ba/da/bada0a5fcbb40c86de47bdd5952b2db1_9x13.gif)乘以其中的第一个并减去第二个,我们将最终得到三次![](https://img.kancloud.cn/c7/9b/c79b8f79347fde2a814096cf3233474d_77x18.gif),根本没有![](https://img.kancloud.cn/83/e1/83e1b5a20a6b64f41ce252094583af6d_15x16.gif)术语,并且只有![](https://img.kancloud.cn/6a/6e/6a6efd6b7c8cf98e3c5c86ef2bfe29e6_16x16.gif)和更高阶的修正项。 因此,如果我们将![](https://img.kancloud.cn/53/1b/531b808868acd302e11ee8fd68d8e283_36x18.gif)定义为 **![](https://img.kancloud.cn/b1/70/b1709534efa9f149a6b68998fda7f577_155x39.gif),**,组合![](https://img.kancloud.cn/b7/d8/b7d8e8e3170de000fc31339b433e1a57_115x39.gif)将产生![](https://img.kancloud.cn/c7/9b/c79b8f79347fde2a814096cf3233474d_77x18.gif)加上来自原始扩展中的第五个导数项而不是第三个的错误,并且该错误在我们的计算中,术语与 d &lt;sup&gt;4&lt;/sup&gt; 成正比(加上与![](https://img.kancloud.cn/be/42/be422178b96823d6839dfd3dd5e9b005_15x16.gif),![](https://img.kancloud.cn/de/58/de58c06680fa33ab8117f3f2dd6ebef4_15x16.gif)等成比例的术语)。 调用此组合![](https://img.kancloud.cn/b2/54/b2541e7a3a6e23db0ae9d22d8113e77b_38x18.gif);那么类似地,![](https://img.kancloud.cn/e0/47/e047092c41e096c3f5a668fded4f00c1_127x40.gif)(称为![](https://img.kancloud.cn/dd/60/dd602c9f99060b6c675cc5d786078eb4_36x18.gif))将产生![](https://img.kancloud.cn/c7/9b/c79b8f79347fde2a814096cf3233474d_77x18.gif)加上来自七阶导数的误差,并且与![](https://img.kancloud.cn/be/42/be422178b96823d6839dfd3dd5e9b005_15x16.gif)成比例。并且你可以继续形成![](https://img.kancloud.cn/07/7f/077fa524f84b963b05a167107adf9d50_27x13.gif)次![](https://img.kancloud.cn/07/7f/077fa524f84b963b05a167107adf9d50_27x13.gif)减去它的两倍![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)的值除以![](https://img.kancloud.cn/d1/c4/d1c497bcade93cef60af968e3a17991a_27x13.gif)得到一个表达式,其误差将与![](https://img.kancloud.cn/de/58/de58c06680fa33ab8117f3f2dd6ebef4_15x16.gif)成比例。 这意味着将![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)除以![](https://img.kancloud.cn/c4/35/c435be78761dffb34ad7cefa6d6f1b3a_9x12.gif)会将最后一次估计![](https://img.kancloud.cn/dd/60/dd602c9f99060b6c675cc5d786078eb4_36x18.gif)中的误差减少![](https://img.kancloud.cn/61/d9/61d91620d321f93688027fa098675469_15x16.gif)因子![](https://img.kancloud.cn/07/7f/077fa524f84b963b05a167107adf9d50_27x13.gif)。 **这看起来像一团糟。** 但事实并非如此。在电子表格上完成所有这些操作非常容易,你可以看到上面每个估计会发生什么,你可以连续减少![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)因子![](https://img.kancloud.cn/c4/35/c435be78761dffb34ad7cefa6d6f1b3a_9x12.gif),你可以写下任何函数,以及任何参数![](https://img.kancloud.cn/77/90/7790dd0efb4a03a4c876741804d9b559_10x8.gif)。 不仅如此,您可以通过仅更改一个条目来更改参数,并通过仅更改一个条目并进行一些复制来更改该函数。 **好的,怎么样?** 我们将使用函数![](https://img.kancloud.cn/d2/8e/d28e17ad9c7afaea328b0168b8794615_45x18.gif)将其设置为特定的 **预赛:** _1.在 A1_ 中计算![](https://img.kancloud.cn/c7/9b/c79b8f79347fde2a814096cf3233474d_77x18.gif) _2.将您的函数名称放在 A2_ 中 _3.将 dstart 放入 A3 并将![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)的起始值放入 B3(我将![](https://img.kancloud.cn/55/95/559537f1e11c68d8ba3d9f6d540de6b0_7x13.gif)放入 B3 中)_ _4.将字母![](https://img.kancloud.cn/77/90/7790dd0efb4a03a4c876741804d9b559_10x8.gif)放入 A4,将![](https://img.kancloud.cn/77/90/7790dd0efb4a03a4c876741804d9b559_10x8.gif)的值放入 B4(我也放![](https://img.kancloud.cn/55/95/559537f1e11c68d8ba3d9f6d540de6b0_7x13.gif))_ _5.在第 5 行标记列如下:在 A5 放![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif),在 B5 ![](https://img.kancloud.cn/77/90/7790dd0efb4a03a4c876741804d9b559_10x8.gif),在 C5 ![](https://img.kancloud.cn/dd/6f/dd6f8d9f8e6cc7e24b61bb5af8008385_42x15.gif),在 D5 ![](https://img.kancloud.cn/44/e9/44e9183f226d7072ae7bb88d37f95951_43x13.gif),在 E5 ![](https://img.kancloud.cn/90/34/90340615fd75f4a3550a82c374838b6b_34x18.gif),F5 ![](https://img.kancloud.cn/6a/df/6adf26d3385d2cd5ce11b12620c89fea_65x18.gif),G5 ![](https://img.kancloud.cn/88/43/8843f76cebf3bfa5cb5ac388b9b9d6d1_65x18.gif),H5 ![](https://img.kancloud.cn/53/1b/531b808868acd302e11ee8fd68d8e283_36x18.gif),在 I5 ![](https://img.kancloud.cn/b2/54/b2541e7a3a6e23db0ae9d22d8113e77b_38x18.gif)中,在 J5 ![](https://img.kancloud.cn/dd/60/dd602c9f99060b6c675cc5d786078eb4_36x18.gif)_ 中 _**设置**_ _ 现在在 A6 中输入= B3,在 B6 中输入= B $ 4,在 C5 中输入= A6 + B6,在 D6 = B6-A6 中,在 E6 中输入= f(B6)。例如= tan(B6)_ _ 然后将 E6 复制到 F6 和 G6。在 H6 中输入=(A6-G6)/ 2 / A6_ _ 将 B6 到 H6 从列中复制到第 50 行 _ _ 现在输入 A7 = A6 / 2 并将 A7 复制到第 50 行。在 I7 中输入=(4 * H7-H6)/ 3 并将 I7 复制到第 50 行 _ _ 最后在 J8 中输入=(16 * I8-I7)/ 15 并将 J8 复制到第 50 行。_ _ 这是什么?_ A 列将包含计算中使用的差异 d。它将从![](https://img.kancloud.cn/c4/35/c435be78761dffb34ad7cefa6d6f1b3a_9x12.gif)除以从一行到下一行。 B 列包含![](https://img.kancloud.cn/77/90/7790dd0efb4a03a4c876741804d9b559_10x8.gif)的值,您可以在其中找到导数,C 和 D 包含![](https://img.kancloud.cn/dd/6f/dd6f8d9f8e6cc7e24b61bb5af8008385_42x15.gif)和![](https://img.kancloud.cn/44/e9/44e9183f226d7072ae7bb88d37f95951_43x13.gif)。 E 含有![](https://img.kancloud.cn/90/34/90340615fd75f4a3550a82c374838b6b_34x18.gif),F 和 G 含有![](https://img.kancloud.cn/6a/df/6adf26d3385d2cd5ce11b12620c89fea_65x18.gif)和![](https://img.kancloud.cn/88/43/8843f76cebf3bfa5cb5ac388b9b9d6d1_65x18.gif)。 H 包含估计值![](https://img.kancloud.cn/b1/70/b1709534efa9f149a6b68998fda7f577_155x39.gif),第 I 列包含通过采用 H 估计值的四倍可得到的改善,减去![](https://img.kancloud.cn/7e/72/7e72dbfd677083f33767e6e33502c75d_19x13.gif)替换的![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)的相似估计值,并将该差值除以![](https://img.kancloud.cn/e8/85/e885a0144704b308aa0f7222aa232822_9x12.gif)。 J 包含通过类似地从![](https://img.kancloud.cn/21/8d/218dd4d7973806d61b7b70260ec93fa1_17x13.gif)乘以![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)估计值中除去 I 中的![](https://img.kancloud.cn/7e/72/7e72dbfd677083f33767e6e33502c75d_19x13.gif)估计值并除以![](https://img.kancloud.cn/b4/0f/b40faea53a713f2a6254683d12b3d045_17x14.gif)而获得的改善。 **以下是![](https://img.kancloud.cn/11/37/1137399450dcbee832c440844615ee83_42x13.gif)的![](https://img.kancloud.cn/25/bb/25bb6abe90df86a8d82468057657d353_49x18.gif)函数的结果。** &lt;button aria-controls="derivative-spreadsheet" aria-expanded="false" class="btn bg-light border-secondary" data-target="#derivative-spreadsheet" data-toggle="collapse" id="toggle-spreadsheet-table" type="button"&gt;显示表&lt;/button&gt;[](../download/derivative.xlsx) Number of rows<button aria-expanded="false" aria-haspopup="true" class="btn btn-sm bg-light border-secondary dropdown-toggle" data-toggle="dropdown" id="nbr-rows-btn" type="button" value="25">25</button>[5](#) [10](#) [25](#) [50](#)Number of digits after decimal point<button aria-expanded="false" aria-haspopup="true" class="btn btn-sm bg-light border-secondary dropdown-toggle" data-toggle="dropdown" id="nbr-digits-btn" type="button" value="10">10</button>[5](#) [10](#) [15](#) 请注意,当![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)在![](https://img.kancloud.cn/52/0d/520d4ac9edcf5a2c2cdd2ad5a271a47f_27x38.gif)附近时,E 列对![](https://img.kancloud.cn/8d/00/8d0051212c2a5a01cc82677bd2acc35f_9x12.gif)的位置是准确的。 要更改![](https://img.kancloud.cn/77/90/7790dd0efb4a03a4c876741804d9b559_10x8.gif),您只需要在 B4 中输入所需的值。要更改函数,请在 E6 中使用变量 B6 输入新函数,复制到 F6 和 G6,然后将 E,F 和 G 列复制到![](https://img.kancloud.cn/4a/2a/4a2a55a96a983290835bd9375d363edc_31x16.gif)行。其他列根本不需要更改。 **练习。** 9.1 自己设置。当 E 和 F 之差达到十位精度时,d 的值是多少? 9.2 尝试使用![](https://img.kancloud.cn/b3/aa/b3aa9ba293bf0a78e34ae23551ac21ee_124x39.gif)而不是如上所述找到![](https://img.kancloud.cn/c0/a0/c0a02e941ba83e2729f5e38b6c75c4dc_48x18.gif)。对于什么![](https://img.kancloud.cn/da/b8/dab8f201ba10fb5a14e991ab157a9c7c_10x13.gif)值,您是否达到十位精度的正确答案? 9.3 找到上面的 H 不能得到十位精度答案的函数和值。