Решение полностью неявных дифференциальных уравнений - метод переменного порядка точности
[
также использует настройки интегрирования, заданные как t
,y
] =
ode15i(odefun
,tspan
,y0
,yp0
,options
)options
, который является аргументом, созданным с помощью odeset
функция. Для примера используйте AbsTol
и RelTol
опции для задания абсолютных и относительная погрешность допусков или Jacobian
опция для предоставления матрицы Якобия.
[
дополнительно находит, где функции t
,y
,te
,ye
,ie
]
= ode15i(odefun
,tspan
,y0
,yp0
,options
)(t,y,y')
, называемые функциями события, равны нулю. В выходах te
- время события, ye
является решением во время события и ie
- индекс инициируемого события.
Для каждой функции события задайте, должно ли интегрирование завершаться на нуле и имеет ли значение направление пересечения нуля. Сделайте это, установив 'Events'
свойство функции, например myEventFcn
или @myEventFcn
, и создание соответствующей функции: [value
, isterminal
, direction
] = myEventFcn
(t
, y
, yp
). Для получения дополнительной информации смотрите Расположение события ОДУ.
возвращает структуру, которую можно использовать с sol
= ode15i(___)deval
для оценки решения в любой точке интервала [t0 tf]
. Можно использовать любой из комбинаций входных аргументов в предыдущих синтаксисах.
Предоставление якобианской матрицы ode15i
является критическим для надежности и эффективности. В качестве альтернативы, если система является большой и разреженной, то предоставление якобианского шаблона разреженности также помогает решателю. В любом случае используйте odeset
для прохождения в матрицах с помощью Jacobian
или JPattern
опции.
ode15i
является решателем переменного, переменного порядка (VSVO), основанным на формулах дифференцирования назад (BDF) порядков 1-5. ode15i
предназначен для использования с полностью неявными дифференциальными уравнениями и индекс-1 дифференциальными алгебраическими уравнениями (ДАУ). Функция помощника decic
вычисляет допустимые начальные условия, которые подходят для использования с ode15i
[1].
[1] Lawrence F. Shampine, «Solving 0 = F (t, y (t), y ′ (t)) в MATLAB», Journal of Numerical Mathematics, Vol.10, No.4, 2002, pp. 291-310.