Main Content

Resumen de opciones de ODE

Resolver ODE normalmente requiere parámetros de ajuste preciso, que ajusten las tolerancias a errores o transfieran información adicional al solver. En este tema se muestra cómo especificar opciones de las funciones de solver (ode45, ode15s, etc.) y con qué solvers de ecuación diferencial es compatible cada opción.

Sintaxis de opciones

Utilice la función odeset para crear una estructura de opciones y pasarla después al solver como el cuarto argumento de entrada. Por ejemplo, para ajustar las tolerancias a errores absolutas y relativas:

opts = odeset('RelTol',1e-2,'AbsTol',1e-5);
[t,y] = ode45(@odefun,tspan,y0,opts);

Si utiliza el comando odeset sin valores de entrada, MATLAB® muestra una lista de los posibles valores para cada opción, con los valores predeterminados indicados mediante llaves {}.

La función odeget consulta el valor de una opción de una estructura existente, que puede utilizar para modificar dinámicamente los valores de las opciones en función de las condiciones. Por ejemplo, este código detecta si Stats está establecido en 'on' y modifica el valor si es necesario:

if isempty(odeget(opts,'Stats'))
  odeset(opts,'Stats','on')
end

Compatibilidad de las opciones con cada solver

Algunas opciones de odeset son genéricas y compatibles con cualquier solver, mientras que otras dependen del solver. En la siguiente tabla se resume la compatibilidad de cada opción con los diferentes solvers.

Grupo de opcionesOpciónode45ode23ode78ode89ode113ode15sode23sode23tode23tbode15i
Control de erroresRelTol

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

AbsTol

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

NormControl

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Salida de solversNonNegative

Supported

Supported

Supported

Supported

Supported

Supported

Unsupported

Supported

Supported

Unsupported

OutputFcn

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

OutputSel

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Refine

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Stats

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Tamaño de pasoInitialStep

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

MaxStep

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Ubicación de eventosEvents

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Matriz jacobianaJacobian

Unsupported

Unsupported

Unsupported

Unsupported

Unsupported

Supported

Supported

Supported

Supported

Supported

JPattern

Unsupported

Unsupported

Unsupported

Unsupported

Unsupported

Supported

Supported

Supported

Supported

Supported

Vectorized

Unsupported

Unsupported

Unsupported

Unsupported

Unsupported

Supported

Supported

Supported

Supported

Supported

Matriz de masa y DAEMass

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Supported

Unsupported

MStateDependence

Supported

Supported

Supported

Supported

Supported

Supported

Unsupported

Supported

Supported

Unsupported

MvPattern

Unsupported

Unsupported

Unsupported

Unsupported

Unsupported

Supported

Unsupported

Supported

Supported

Unsupported

MassSingular

Unsupported

Unsupported

Unsupported

Unsupported

Unsupported

Supported

Unsupported

Supported

Unsupported

Unsupported

InitialSlope

Unsupported

Unsupported

Unsupported

Unsupported

Unsupported

Supported

Unsupported

Supported

Unsupported

Unsupported

Opciones de algoritmo para ode15s y ode15iMaxOrder

Unsupported

Unsupported

Unsupported

Unsupported

Unsupported

Supported

Unsupported

Unsupported

Unsupported

Supported

BDF

Unsupported

Unsupported

Unsupported

Unsupported

Unsupported

Supported

Unsupported

Unsupported

Unsupported

Unsupported

* Utilice el parámetro NonNegative con ode15s, ode23t y ode23tb solo para los problemas en que no haya una matriz de masa.

** La función de eventos para ode15i debe admitir un tercer argumento de entrada para yp.

Ejemplos de uso

MATLAB incluye varios archivos de ejemplo que muestran cómo usar las diversas opciones. Por ejemplo, escriba edit ballode para ver un ejemplo en que se utiliza 'Events' para especificar una función de eventos o edit batonode para ver un ejemplo en que se utiliza 'Mass' para especificar una matriz de masa. Para obtener un resumen completo de los archivos de ejemplo y qué opciones utilizan, consulte Resumen de ejemplos y archivos de ODE.

Consulte también

|

Temas relacionados