2016-04-13 11 views
0

Ich lese ein Buch mit dem Titel "Homotopie Analysemethode in nichtlinearer Differentialgleichung" von Shijun Liao. In Kapitel 13 Anwendung in Finance: American Put Option gibt es Anhang über mathematischen Code des Kapitels. Ich habe jedoch nicht Mathematica, sondern Matlab und möchte den Code in Matlab umschreiben.Wie Taylor Expansion von beliebigen Funktionen in Matlab zu konstruieren?

Hier ist der erste Teil des Codes Mathematica:

<<Calculus`Pade`; 
<<Graphics`Graphics`; 

(* Define approx[f] for Taylor expansion of f *) 
approx[f_] := Module[{temp}, 
temp[0] = Series[f, {t, 0, OrderTaylor}]//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] 
]; 

Ich weiß aus Website Wolfram Referenz, die Serie [f, {x, x 0, n}] für f um den Punkt eine Potenzreihenentwicklung erzeugt x = x0 zur Ordnung (x-x0)^n. Daher muss ich eine Potenzreihe der Erweiterung für f konstruieren. Soweit ich weiß, müssen wir in Matlab zuerst das f definieren, zum Beispiel f = cos (x), usw. Meine Frage ist also, wie man die Taylor-Erweiterung einer beliebigen Funktion in Matlab konstruiert?

Vielen Dank im Voraus.

Antwort