Может ли TI-84 Basic обрабатывать производные n-го порядка?

Я пытаюсь создать программу, которая будет оценивать ряд Тейлора (описанный ниже, если вы не знаете) до n-го порядка. Однако для этого мне нужно оценить функцию (которую я держу в Y1) и его n-ая производная. Я пытался использовать nDeriv и сохранить его как строку в Y2, Y3и т. д., но TI-84 не позволяет мне штабелировать более двух таких одновременно. У кого-нибудь есть способ обойти это?

Серия Тейлор

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

где O заданный порядок ряда (более высокие значения дают более точный результат), f^(n)(a) означает "n-я производная функции f по значению a", а также C данная константа для оценки

1 ответ

Решение

Отказ от ответственности: у меня больше нет калькулятора TI, и это основано главным образом на экспериментах, которые я провел примерно 7 лет назад, когда столкнулся с подобной проблемой. Математика в ответе должна быть правильной, но я могу ошибаться по поводу некоторых мелких вещей, специфичных для калькулятора.

Во-первых, я думаю, что я должен исправить вашу математику. Определение для ряда Тейлора функции f(x) при x=a просто

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

Там нигде нет C (вы, возможно, думали о теореме о полиномиальном напоминании Тейлора, что совсем другое), и сумма по всем неотрицательным целым числам n. Конечно, нет надежды на вычисление бесконечного ряда, подобного этому, на TI-84, но мы можем обрезать ряд, давая полином Тейлора N-го порядка:

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

Это то, что вы можете рассчитывать численно, так как сумма конечна. Конечно, все, что вам нужно сделать, это вычислить n-ые производные для n=0,1,...,O, так что теперь я сосредоточусь на этом. Я думаю, что это то, что вы хотели в любом случае, но терминология "ряд Тейлора" всегда указывает на бесконечный ряд, в то время как полином Тейлора используется, когда сумма конечна.

nDeriv не может быть вложен произвольно. Согласно этому сайту документации, он может быть вложен на один уровень глубиной, но я помню, что на моей более ранней модели даже это было запрещено в некоторых случаях. Однако в любом случае 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

Где странно отформатированная вещь внутри суммы - это биномиальный коэффициент (n nCr m на ТИ-84). Это может быть вычислено в TI basic и эквивалентно окончательному результату, который вы получите, если калькулятор позволит вам произвольно вкладывать nDeriv (по крайней мере, до тех пор, пока эффекты точности машин не станут важными).

Возможно, вы захотите поиграть с h some, пока не найдете подходящее значение (а для разных производных порядка вы можете использовать разные значения h). К сожалению, численное дифференцирование, естественно, трудно сделать, особенно с устройствами с низкой точностью, такими как калькуляторы, потому что вы вычитаете два очень близких числа, чтобы получить очень маленькое число, и делите на другое очень маленькое число. Для производных более высокого порядка все только ухудшается. Я помню, что для некоторых простых функций я мог получить 4 или 5 производных, прежде чем было просто невозможно получить что-либо значимое, потому что калькулятора просто не хватает точности.

Между прочим, если вы обнаружите, что вышеописанный метод недостаточно точен, есть тонна литературы по численному дифференцированию с лучшими методами, чем изложенная выше. Хорошее место для начала - статья в Википедии о методах конечных разностей, примером которой является приведенная выше формула. Неважно, что, вы столкнетесь с проблемами точности станка, но использование более сложного метода, по крайней мере, повысит точность, пока эффекты точности станка не станут важными.

Другие вопросы по тегам