Hilfe für Mathematica bitte

Hallo zusammen,

ich habe da eine rekursive Programmierung in Mathematica mit der ich nicht ganz zurecht kommen, da ich keine Ahnung von dem Programm habe.

Zwar weiß ich wie rekursive Funktionen implementiert werden, allerdings nur in VBA und C++ und verstehe den Mathematica-Code nicht.

Kann mir bitte jemand erklären, wie der Code der Rekursion zu verstehen ist oder ihn in VBA oder C++ übersetzten? Ich verstehe z. B. nicht, was das „recurse[0, 0]/2^n]“ am Ende noch soll…

Vielen Dank für eure Hilfe!

Hier der Mathematica-Code: (von Benninga und Wiener - 1998)

Clear[discount, pv, r, theta]
theta[1] = 0.19; theta[2] = 0.18;
theta[3] = 0.17;
theta[4] = 0.16; R[1] = 1/1.1;
R[2] = 1/1.11ˆ2; R[3] = 1/1.12ˆ3;
R[4] = 1/1.125ˆ4; R[5] = 1/1.13ˆ5;
r[t_, j_] := r[t]*Exp[2*theta[t]*j];
discount[r_] := 1/(1 + r);
pv[n_] :=
Module[{recurse}, recurse[t_, j_] :=
recurse[t, j] =
If[t == n, 1, discount[r[t, j]]*
(recurse[t + 1, j + 1] +
recurse[t + 1, j])];
recurse[0, 0]/2ˆn]

Hi,

ich habe da eine rekursive Programmierung in Mathematica mit
der ich nicht ganz zurecht kommen, da ich keine Ahnung von dem
Programm habe.

Den Code verstehe ich auch nicht, aber es handelt sich doch nur um eine Umsetzung eines in einem paper beschriebenen Verfahrens? Dann kannst du das Verfahren eben selbst implementieren/umsetzen, ohne dich an deren Code zu halten.
Grüße,
JPL

Hallo,

grundsätzlich gebe ich dir recht. Mein Problem ist, dass in dem Paper davon ausgegangen wird, dass der Code alles erklärt, was sicherlich auch stimmt. Nur kenne ich mich mit Mathematica nicht aus und verstehe den Code deshalb nicht.

Hi,

gibts sonst noch andere Quellen (paper die das paper zitieren?). Vllt wird man aus denen klüger.
Grüße,
JPL

Hallo nochmal,

es ging um das Black-Derman-Toy-Modell.

Den Mathematica-Code verstehe ich zwar immer noch nicht, konnte aber mit einigem Rumprobieren, herausfinden, wie ich rechnen muss, um auf die Lösungen der Beispiele zu kommen.

Hab jetzt soweit alles verstanden, war tatsächlich nicht so kompliziert.

Danke an alle, die geholfen haben.