ode45
Resolver ecuaciones diferenciales no rígidas; método de orden intermedio
Sintaxis
Descripción
[
, donde t
,y
] = ode45(odefun
,tspan
,y0
)tspan = [t0 tf]
, integra el sistema de ecuaciones diferenciales de t0
a tf
con condiciones iniciales y0
. Cada fila del arreglo de solución y
se corresponde con un valor devuelto en el vector columna t
.
Todos los solvers de ODE de MATLAB® pueden resolver sistemas de ecuaciones con el formato , o problemas que incluyen una matriz de masa, . Todos los solvers utilizan sintaxis similares. El solver ode23s
solo puede resolver problemas con una matriz de masa si la matriz de masa es constante. ode15s
y ode23t
pueden resolver problemas con una matriz de masa que es singular, conocidos como ecuaciones algebraicas diferenciales (DAE). Especifique la matriz de masa utilizando la opción Mass
de odeset
.
ode45
es un versátil solver de ODE y es el primer solver que debería probar para solucionar la mayoría de problemas. Sin embargo, si el problema es rígido o requiere mucha precisión, existen otros solvers de ODE que podrían ser más adecuados para resolverlo. Para obtener más información, consulte Elegir un solver de ODE.
[
también utiliza la configuración de integración definida por t
,y
] = ode45(odefun
,tspan
,y0
,options
)options
, que es un argumento creado utilizando la función odeset
. Por ejemplo, utilice las opciones AbsTol
y RelTol
para especificar tolerancias a errores absolutas y relativas, o la opción Mass
para proporcionar una matriz de masa.
[
también encuentra dónde son cero las funciones de (t,y), denominadas funciones de evento. En la salida, t
,y
,te
,ye
,ie
] = ode45(odefun
,tspan
,y0
,options
)te
es el tiempo del evento, ye
es la solución en el momento del evento e ie
es el índice del evento activado.
Para cada función de evento, especifique si la integración debe terminar en un cero y si la dirección del cruce por cero tiene importancia. Hágalo estableciendo la propiedad 'Events'
en una función, como myEventFcn
o @myEventFcn
, y creando una función correspondiente: [value
,isterminal
,direction
] = myEventFcn
(t
,y
). Para obtener más información, consulte Ubicación de eventos de EDO.
Ejemplos
Argumentos de entrada
Argumentos de salida
Algoritmos
ode45
se basa en una fórmula explícita de Runge-Kutta (4,5), el par de Dormand-Prince. Se trata de un solver de salto único; cuando se calcula y(tn)
, solo necesita la solución en el punto de tiempo inmediatamente anterior, y(tn-1)
[1], [2].
Referencias
[1] Dormand, J. R. and P. J. Prince, “A family of embedded Runge-Kutta formulae,” J. Comp. Appl. Math., Vol. 6, 1980, pp. 19–26.
[2] Shampine, L. F. and M. W. Reichelt, “The MATLAB ODE Suite,” SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1–22.
Capacidades ampliadas
Historial de versiones
Introducido antes de R2006a