3.3.4 Προσεγγιστική επίλυση της y′=f(t,y) : odesolve
-
Έστω f μια συνάρτηση από το ℝ2 στο ℝ.
odesolve(f(t,y),[t,y],[t0,y0],t1) ή
odesolve(f(t,y),t=t0..t1,y,y0) ή
odesolve(t0..t1,f,y0) ή
odesolve(t0..t1,(t,y)->f(t,y),y0)
επιστρέφει μια προσεγγιστική τιμή του y(t1) όπου y(t) είναι
η λύση του:
y′(t)=f(t,y(t)), y(t0)=y0 |
-
odesolve δέχεται ένα προαιρετικό όρισμα για
τη διακριτοποίηση του
t (
tstep=τιμή).
Αυτή η τιμή περνιέται σαν αρχική τιμή βήματος στον αριθμητικό επιλυτή
της
GSL (Gnu Scientific Library), αλλά μπορεί να αλλαχθεί από τον
επιλυτή. Χρησιμοποιείται επίσης για να ελέγχεται ο αριθμός των επαναλήψεων
του επιλυτή με τον τύπο
2*(t1-t0)/tstep (εάν ο αριθμός των επαναλήψεων
υπερβαίνει αυτή την τιμή, ο επιλυτής θα σταματήσει σε t<t1).
-
odesolve δέχεται σαν προαιρετικό όρισμα την
curve.
Σε αυτήν την περίπτωση,
odesolve επιστρέφει την λίστα όλων των τιμών [t,[y(t)]]
που έχουν υπολογιστεί.
Είσοδος :
odesolve(sin(t*y),[t,y],[0,1],2)
ή :
odesolve(sin(t*y),t=0..2,y,1)
ή :
odesolve(0..2,(t,y)->sin(t*y),1)
ή ορίστε τη συνάρτηση :
f(t,y):=sin(t*y)
και εισάγετε :
odesolve(0..2,f,1)
Έξοδος :
[1.822413]
Είσοδος :
odesolve(0..2,f,1,tstep=0.3)
Έξοδος :
[1.822413]
Είσοδος :
odesolve(sin(t*y),t=0..2,y,1,tstep=0.5)
Έξοδος :
[1.822413]
Είσοδος :
odesolve(sin(t*y),t=0..2,y,1,tstep=0.5,curve)
Έξοδος :
[[0.0,[1.0]],[0.3906,[1.078118]],[0.7609631,[1.309724]],
[1.070868,[1.604761]],[1.393346,[1.864171]]]