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 ODE Event Location.
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