Προσεγγιστική επίλυση της y′=f(t,y) : odesolve

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