Сводные данные опций ОДУ

Решение ОДУ часто требует подстройки параметров, корректировки допусков на ошибки или передачи дополнительной информации решателю. В этом разделе показано, как задать опции и с какими дифференциальными уравнениями решает каждая опция совместима.

Синтаксис опций

Используйте odeset функция для создания структуры опций, которая затем передается решателю в качестве четвертого входного параметра. Для примера, чтобы настроить относительные и абсолютные ошибки допусков:

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

Если вы используете команду odeset без входов, MATLAB® отображает список возможных значений для каждой опции со значениями по умолчанию, обозначенными фигурными скобками {}.

odeget функция запрашивает значение опции в существующей структуре, которую можно использовать для динамического изменения значений опций на основе условий. Для примера этот код определяет, Stats ли установлено в 'on', и изменяет значение при необходимости:

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

Совместимость опций с каждым решателем

Некоторые опции в odeset являются обобщенными и совместимыми с любым решателем, в то время как другие являются специфичными для решателя. В этой таблице суммируется совместимость каждой опции с другими решателями.

Опцияode45ode23ode113ode15sode23sode23tode23tbode15i

RelTol
AbsTol
NormControl

OutputFcn
OutputSel
Очиститься
Статистика

NonNegative

✓*

✓*

✓*

Events

✓**

MaxStep
InitialStep

Якобиан
JPattern
Векторизованный

Масса
MStateDependence
MvPattern
MassSingular

























InitialSlope

MaxOrder
СРЕДСТВО РАЗРАБОТКИ БИЗНЕС-МОДЕЛИ


* Используйте NonNegative параметр с ode15s, ode23t, и ode23tb только для тех задач, в которых отсутствует большая матрица.

* * Функция событий для ode15i должен принять третий входной параметр для yp.

Примеры использования

MATLAB включает несколько примерных файлов, которые показывают, как использовать различные опции. Для примера введите edit ballode чтобы увидеть пример, который использует 'Events' для задания функции событий или edit batonode чтобы увидеть пример, который использует 'Mass' для задания большой матрицы. Полные сводные данные примеров файлов и опций, которые они используют, смотрите Сводных данных примеров и файлов ODE.

См. также

|

Похожие темы