Решение полностью неявных дифференциальных уравнений - метод переменного порядка точности
[ также использует настройки интегрирования, заданные как 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.