【问题标题】:Can TI-84 Basic handle nth-order derivatives?TI-84 Basic 可以处理 n 阶导数吗?
【发布时间】:2013-07-21 19:57:15
【问题描述】:

我正在尝试编写一个程序来评估泰勒级数(如果您不知道,请在下面描述)到 n 阶。但是,要做到这一点,我需要评估一个函数(我在Y1 中持有)及其第 n 个导数。 我尝试使用 nDeriv 并将其作为字符串保存到 Y2Y3 等,但 TI-84 不允许我一次堆叠超过 2 个。有没有人有办法解决这个问题?

泰勒级数

        O  f^(n)(a)
f(x) ≈  Σ (-------- (x-C)^n)
       n=0    n!

其中O 是序列的给定顺序(值越高,结果越精确),f^(n)(a) 表示“函数f 在值a 处的第n 个导数”,C 是要估计的给定常数

【问题讨论】:

    标签: math ti-basic taylor-series


    【解决方案1】:

    免责声明:我不再拥有 TI 计算器,这主要基于我在大约 7 年前遇到类似问题时所做的实验。答案中的数学应该是正确的,但我可能会误认为计算器特有的一些小问题。

    首先,我想我应该纠正你的数学。在 x=a 处函数 f(x) 的 Taylor 级数 的定义就是

            ∞  f^(n)(a)
    f(x) ≈  Σ (-------- (x-a)^n)
           n=0    n!
    

    在任何地方都没有涉及 C(您可能一直在考虑 Taylor polynomial reminder theorem,这是另一回事),并且总和是所有非负整数 n。当然,在 TI-84 上计算这样的无限级数是没有希望的,但我们可以截断该级数,给出 N 阶泰勒 多项式

            O  f^(n)(a)
    f(x) ≈  Σ (-------- (x-a)^n)
           n=0    n!
    

    这是您实际上可以希望以数字方式计算的东西,因为总和是有限的。当然,您需要做的就是计算 n=0,1,...,O 的第 n 个导数,所以从现在开始我将专注于它。我认为这就是您想要的,但是术语“泰勒级数”总是表示无限级数,而当总和是有限时使用泰勒多项式。

    nDeriv 不能任意嵌套。根据this documentation site,它可以嵌套一层,但我记得在我早期的模型中,在某些情况下甚至不允许这样做。但是,nDeriv 无论如何只计算导数,使用的公式是 nDeriv(f(t),t,x[,h])) = (f(x+h)-f(xh))/(2h),其中 h=0.001 是默认值。您可以递归地应用它来获得更高阶导数的表达式:

    f^(2)(x)=(f(x+2h)-2f(x)+f(x-2h))/(2h)^2
    f^(3)(x)=(f(x+3h)-3f(x+h)+3f(x-h)-f(x-3h))/(2h)^3
    

    一般来说:

                n   n    (-1)^m f(x+(n-2m)h)
    f^(n)(x) =  Σ (   ) ---------------------
               m=0  m          (2h)^n
    

    总和中格式奇怪的东西是二项式系数(TI-84 上的n nCr m)。这可以在 TI basic 中计算,并且相当于如果计算器允许您任意嵌套 nDeriv(至少在机器精度影响开始变得重要之前)您将获得的最终结果。

    您可能希望使用 h some 直到找到合适的值(对于不同的阶导数,您可能希望使用不同的 h 值)。不幸的是,数值微分自然很难做到,特别是对于计算器等低精度设备,因为你要减去两个非常接近的数字来得到一个非常小的数字,然后除以另一个非常小的数字。对于高阶导数,情况只会变得更糟。我记得对于一些简单的函数,我可以得到 4 或 5 个导数,然后因为计算器没有足够的精度而无法得到任何有意义的东西。

    顺便说一句,如果您发现上述方法不够精确,那么有大量关于数值微分的文献,其中的方法比上面列出的方法更好。一个好的起点是the Wikipedia article on finite difference methods,上面的公式是一个(不是特别好的)例子。无论如何,您都会遇到机器精度问题,但使用更复杂的方法至少会提高精度,直到机器精度影响开始变得重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 2016-12-09
      • 2015-04-06
      • 1970-01-01
      相关资源
      最近更新 更多