'edo a resolver
Public Function g(t, y) As Double
g = (t - y) / 2
End Function
'runge kutta 44
Public Function rk_44(t0, y0, h) As Double
k1 = g(t0, y0)
k2 = g(t0 + h / 2, y0 + h * k1 / 2)
k3 = g(t0 + h / 2, y0 + h * k2 / 2)
k4 = g(t0 + h, y0 + h * k3)
rk_44 = y0 + (h / 6) * (k1 + 2 * k2 + 2 * k3 + k4)
End Function
'heun
Public Function e_heun(t0, y0, h) As Double
yp = y0 + h * g(t0, y0)
e_heun = y0 + 0.5 * h * (g(t0, y0) + g(t0 + h, yp))
End Function
'poligono mejorado
Public Function poli_m(t0, y0, h) As Double
ym = y0 + 0.5 * h * g(t0, y0)
poli_m = y0 + h * g(t0 + h / 2, ym)
End Function
'ralston
Public Function ralston_(t0, y0, h) As Double
k1 = g(t0, y0)
k2 = g(t0 + 0.75 * h, y0 + 0.75 * h * k1)
ralston_ = y0 + (h / 3) * (k1 + 2 * k2)
End Function
'euler explicito
Public Function eu_ex(t0, y0, h)
eu_ex = y0 + h * g(t0, y0)
End Function
No hay comentarios:
Publicar un comentario