### 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]]]