Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Método de Stormer-Verlet
dn y
= b( y, y , y, y,...., t ) (10.1)
dt n
d2y
= b ( x, y , y ' ) (10.2)
dx 2
d 2 y ( x) d 2 y ( xk ) δ 2 y k
= = = b( xk , y k , y ' k ) = bk (10.3)
dx 2 k dxk
2
(∆x) 2
yk +1 = 2 yk − yk −1 + bk (∆x) 2 (10.4)
y ' k = vk =
1
[ yk +1 − yk −1 ] (10.5)
2∆x
b( xk , y k , vk ) = bk = b( xk , y k ,
1
[ yk +1 − yk −1 ])
2∆x
La ecuación (10.5) en combinación con la ecuación (10.4), nos permite construir la
solución numérica Stormer-Verlet que es implícita.
Caso Particular:
d 2θ
= −ω 0 θ = b(θ)
2
2
dt
Es decir:
θ k +1 = 2θ k − θ k −1 + (−ω 02θ k )(∆t ) 2
Caso general:
d2y
= −ω02 y − βy ' = b( y, y ' , t ) (10.6)
dt 2
Para este caso:
bk = −ω02 y k − βvk
Una vez más, si k = 0, es necesario conocer de antemano y0 y y-1; pero ahora, para
calcular v0 requeriremos del valor de y1; dado que, la ecuación (10.5) toma este valor
como dato.
Procedimiento:
1
v0 = (A − y −1 )
2∆t
Luego:
y1 = 2 y0 − y−1 + (−ω02 y0 − βv0 )(∆t ) 2
En este punto evaluamos si | y1- A | ≤ Tol, si esto es así, el valor de y1 queda fijo, de lo
contrario hacemos A = (A + y1)/2 y repetimos el cálculo de v0 e y1.
Finalizado el proceso iterativo para y1 se repite la operación para k = 1 hasta que k sea
igual a N, que representa el número total de puntos a calcular.
Paralelamente al cálculo de y, debe calcularse t, incrementando en cada
cambio de k una cantidad ∆t; así, a: t-1 le corresponde el valor y-1, a: t0 = t-1 + ∆t, le
corresponde y0; a t1 = t0 +∆t, le corresponde y1 y así sucesivamente.
Ejemplo a:
d2y
2
= 10t 2 y + 5 y ' = b(t , y, y ' )
dt
Condiciones iniciales: t0 = 0.0, tf = 1.0, N = 10, y0 = 1.5, y'0 = 2.5, TOL = 0.1
DATOS
t0 0.00 N 10
y0 1.50 tf 1.000
y'0 = z0 2.50 TOL 0.100
Resultados de Stormer-Verlet
t y
Condición
t0 0.00 1.5000 y0 Inicial
Método de
t1 0.10 1.7500 y1 Euler
t2 0.20 2.1434 y2
t3 0.30 2.7851 y3
t4 0.40 3.8617 y4
t5 0.50 5.7105 y5
Stormer -
t6 0.60 8.9517 y6
Verlet
t7 0.70 14.7621 y7
t8 0.80 25.3864 y8
t9 0.90 45.2316 y9
t10 1.00 83.1708 y10
Ejemplo b:
d2y
= −2.89 y − 0.25 y ' = b( y, y ' )
dt 2
0
0 0.2 0.4 0.6 0.8 1 1.2