Как построить разложение Тейлора произвольной функции в Matlab?

327
Monica Sendi Afa

Я читаю книгу под названием «Метод гомотопического анализа в нелинейных дифференциальных уравнениях» Шицзюня Ляо. В главе 13 «Применение в финансах: американский пут-опцион» есть приложение о коде математики главы. Тем не менее, у меня нет Mathematica, но Matlab вместо этого, и я хочу переписать код в Matlab.

Вот первая часть кода Mathematica:

<<Calculus`Pade`; <<Graphics`Graphics`;  (* Define approx[f] for Taylor expansion of f *) approx[f_] := Module[, temp[0] = Series[f, ]//Normal; temp[1] = temp[0] /. t^(n_.)*Derivative[j_][DiracDelta][0] -> 0; temp[2] = temp[1] /. t^(n_.)*DiracDelta[0] -> 0; temp[3] = temp[2] /. DiracDelta[0] -> 0; temp[4] = temp[3] /. Derivative[j_][DiracDelta][0] -> 0; temp[5] = N[temp[4],60]//Expand; If[KeyCutOff == 1, temp[5] = temp[5]//Chop]; temp[5] ]; 

Я знаю из справочного сайта Wolfram, что Series [f, ] генерирует разложение степенных рядов для f относительно точки x = x0 до порядка (x-x0) ^ n. Таким образом, мне нужно построить степенной ряд разложения для f. Однако, насколько я знаю, в matlab мы должны сначала определить f, например, f = cos (x) и т. Д. Итак, мой вопрос: как построить разложение в ряд Тейлора произвольной функции в Matlab?

Заранее спасибо.

0
Попробуйте форум поддержки Matlab, у них есть ученые и математики. barlop 7 лет назад 0

1 ответ на вопрос

0
Lucademicus

If you want to use math in Matlab as is done in Mathematica, you will need the 'Symbolic Math Toolbox'.

With that toolbox, it is straightforward using the build-in tailor function

See the page about this function for syntax examples

Пожалуйста, процитируйте основные части ответа по ссылочной ссылке (ссылкам), так как ответ может стать недействительным, если связанные страницы изменятся. DavidPostill 7 лет назад 0

Похожие вопросы