Решение не жестких дифференциальных уравнений - метод переменного порядка точности
[
, где t
,y
] =
ode113(odefun
,tspan
,y0
)tspan = [t0 tf]
, интегрирует систему дифференциальных уравнений от t0
на tf
с начальными условиями y0
. Каждая строка массива решений y
соответствует значению, возвращаемому в вектор-столбец t
.
Все MATLAB® Решатели ОДУ могут решить системы уравнений вида , или задачи, которые включают большую матрицу, . Все решатели используют аналогичные синтаксисы. ode23s
решатель может решить задачи только с большой матрицей, если большая матрица постоянна. ode15s
и ode23t
может решить задачи с большой матрицей, сингулярной, известной как дифференциально-алгебраические уравнения (ДАУ). Задайте большую матрицу используя Mass
опция odeset
.
[
также использует настройки интегрирования, заданные как t
,y
] =
ode113(odefun
,tspan
,y0
,options
)options
, который является аргументом, созданным с помощью odeset
функция. Для примера используйте AbsTol
и RelTol
опции для задания абсолютных и относительная погрешность допусков или Mass
опция для задания большой матрицы.
[
дополнительно находит, где функции (t, y), называемые функциями события, равны нулю. В выходах t
,y
,te
,ye
,ie
]
= ode113(odefun
,tspan
,y0
,options
)te
- время события, ye
является решением во время события и ie
- индекс инициируемого события.
Для каждой функции события задайте, должно ли интегрирование завершаться на нуле и имеет ли значение направление пересечения нуля. Сделайте это, установив 'Events'
свойство функции, например myEventFcn
или @myEventFcn
, и создание соответствующей функции: [value
, isterminal
, direction
] = myEventFcn
(t
, y
). Для получения дополнительной информации смотрите Расположение события ОДУ.
возвращает структуру, которую можно использовать с sol
= ode113(___)deval
для оценки решения в любой точке интервала [t0 tf]
. Можно использовать любой из комбинаций входных аргументов в предыдущих синтаксисах.
ode113
является решателем PECE Adams-Bashforth-Moulton переменного порядка (VSVO) порядков 1-13. Самый высокий используемый порядок, по-видимому, равен 12, однако формула порядка 13 используется для формирования оценки ошибки, и функция делает локальную экстраполяцию, чтобы ускорить интегрирование в порядке 13.
ode113
может быть более эффективным, чем ode45
при строгих допусках или если функция ОДУ является особенно дорогостоящей для оценки. ode113
является многоступенчатым решателем - ему обычно нужны решения в несколько предыдущих моментов времени, чтобы вычислить текущее решение [1], [2].
[1] Шемпин, Л. Ф. и М. К. Гордон, компьютерное решение обыкновенных дифференциальных уравнений: задача начального значения, У. Х. Фриман, Сан-Франциско , 1975.
[2] шемпин, L. F. and M. W. Reichelt, «The MATLAB ODE Suite», SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1-22.