Seite 1 von 1

Differenzengleichung 1. Ordnung plotten

Verfasst: Mo Dez 28, 2020 5:13 pm
von Lagrange
Hallo zusammen,

ich habe folgende Funktionen, die ich so in Mathematica eingebe:

Code: Alles auswählen

P[t_]:= P(t) = P(t-1) + a * ED(t-1);
ED[t_] := ED(t) = DF(t) + DC(t);
DF[t_] := DF(t) = b*(F-P(t));
DC[t_] := DC(t) = c*(P(t)-F);
Die Parameter lauten:

Code: Alles auswählen

a=1;
c=0.2; 
b = 0.75; 
F=100;
In Mathematica verwende ich folgenden Befehl. um P[t] und F zu plotten:

Code: Alles auswählen

ListLinePlot[{Table[P[t], {t, 0, 25}], Table[F, {t, 0, 25}]}, PlotStyle → {Black, Red},
Frame → True, FrameLabel → {"time", "price"}, AspectRatio → 0.4, PlotRange → All]

Ist es in R auch möglich die Funktionen zu plotten?

Ich habe folgendes versucht:

Code: Alles auswählen

f1 <- function(t) P(t-1) + a * ED(t-1)
f2 <- function(t) DF(t) + DC(t)
f3 <- function(t) b*(F-P(t))
f4 <- function(t) c*(P(t)-F)

a <- 1
b <- 0.75
c <- 0.2
F <- 100

P[0] = F + 1;
Mit dem Befehl

Code: Alles auswählen

 plot
komme ich aber nicht weiter.

Re: Differenzengleichung 1. Ordnung plotten

Verfasst: Do Dez 31, 2020 5:18 pm
von jogo
Hallo Lagrange,

Mathematica und R sind recht verschieden. Soweit mir bekannt ist Mathematica eher ein CAS (Computer Algebra System) - dagegen ist R eher ein Zahlenfresser (number cruncher).
Sofern nicht jemand von den Forummitgliedern firm in beiden Systemen ist, wird es wohl hier kaum jemanden geben, der mit der Syntax von Mathematica etwas anzufangen weiß.
Für R gibt es aber mindestens ein Paket, mit dem man gewöhnliche Differentialgleichungen numerisch lösen kann.
Eventuell wird man erst die Differentialgleichung numerisch lösen müssen, bevor man das Ergebnis zeichnen kann.

Zusatzfrage:
Handelt es sich um ein System von Differentialgleichungen?
(Auch ich kenne mich mit der Formulierung solcher Probleme in Mathematica nicht aus, aber grob meine ich zu erkennen, dass es sich um ein solches System handelt.)

Gruß, Jörg