Considera il problema y'(x) = x²+y², y(−1) = −1.  Trova, approssimativamente, quanto vale y(1.8).

Conviene sempre tracciare il campo direzionale per affrontare problemi relativi alle equazioni differenziali.  Proviamo a tracciarlo con WolframAlpha, poi vedremo come farlo con R.

slope field of  dy/dx = x^2+y^2



Il campo direzionale senza "scala".

Quello in  [-1,2]×[-1,3]   
slope field of dy/dx = x^2+y^2, -1<x<2, -1<x<3

Dal campo direzionale tracciato a destra possiamo dedurre con sicurezza che y(1.8) è quasi 3. Non è facile risolvere l'equazione differenziale.  Anche WolframAlpha di fronte a  dy/dx = x^2+y^2, y(-1) = -1  non fornisce in modo esplicito la soluzione.  Nell'uso del software occorre stare attenti a scrivere gli input e a leggere gli output. Se avessi scritto:
y'(x) = x^2+y(x)^2, y(-1) = -1, y(1.8)    avrei ottenuto  y(1.8) = -14.0983   che osservando il campo direzionale capisco subito non essere il valore in 1.8 della soluzione dell'equazione differenziale;  del resto y' è sempre positivo, per cui y deve crescere, e quindi (anche senza osservare il grafico) deduco che y(1.8) deve essere maggiore di -1.

Con R possiamo utilizzare un programma per risolvere l'equazione.

Dy = function(x,y) x^2+y^2
BF=4;HF=3
Plane(-2,2, -3,3); diredif(-2,2, -3,3, 20,20)
# Tracciato il campo direzionale, traccio la soluzione
soledif(-1,-1, 2.5, 1e6, "brown"); soledif(-1,-1, -2.5, 1e6, "brown")
# Calcolo il valore di y(1.8). Lo approssimo inizialmente con 1e5 passi 
A = soledifv(-1,-1, 1.8, 1e5); A
# 2.65262
B = A; A = soledifv(-1,-1, 1.8, 2e5); c(A, A-B)
#  2.652755615  0.000135672
B = A; A = soledifv(-1,-1, 1.8, 4e5); c(A, A-B)
#  2.652823   6.784461e-05
B = A; A = soledifv(-1,-1, 1.8, 8e5); c(A, A-B)
#  2.652857  3.392446e-05   Ad ogni passo la variazione si dimezza. Quindi aggiungo
A+A-B                      # ad A la variazione precedente in quanto 1/2+1/4+... = 1
#  2.652891

Per altri commenti: Modelli differenziali.