Comando RisolviNEDO
- RisolviNEDO(Lista derivate, x iniziale, Lista y iniziali, x finale)
-
Risolve numericamente il sistema di equazioni differenziali indicato.
Siano
f'(t, f, g, h) = g
g'(t, f, g, h) = h
e
h'(t, f, g, h) = -t h + 3t g + 2f + t
.
Allora
RisolviNEDO({f', g', h'}, 0, {1,2,-2}, 10)
RisolviNEDO({f', g', h'}, 0, {1,2,-2}, -5)
. (risolve il sistema a ritroso nel tempo)
Siano
x1'(t, x1, x2, x3, x4) = x2
x2'(t, x1, x2, x3, x4) = x3
x3'(t, x1, x2, x3, x4) = x4
e
x4'(t, x1, x2, x3, x4) = -8x1 + sin(t) x2 - 3x3 + t^2
.
Siano inoltre
x10 = -0.4
, x20 = -0.3
, x30 = 1.8
e x40 = -1.5
Allora
RisolviNEDO({x1', x2', x3', x4'}, 0, {x10, x20, x30, x40}, 20)
Simulazione di un pendolo:
Siano g = 9.8
, l = 2
, a = 5
la posizione iniziale
e b = 3
la forza iniziale.
Siano inoltre y1'(t, y1, y2) = y2
e y2'(t, y1, y2) = (-g) / l sin(y1)
Allora
RisolviNEDO({y1', y2'}, 0, {a, b}, 20)
lun = Lunghezza(IntegraleNumerico1)
c = Slider(0, 1, 1 / lun, 1, 100, false, true, true, false)
x1 = l sin(y(Punto(IntegraleNumerico1, c)))
y1 = -l cos(y(Punto(IntegraleNumerico1, c)))
A = (x1, y1)
Segmento((0, 0), A)
AvviaAnimazione()
Vedere anche i comandi CampoDirezioni e RisolviEDO. |