Решение нежестких дифференциальных уравнений — метод среднего порядка точности
[
, где t
,y
] =
ode45(odefun
,tspan
,y0
)tspan = [t0 tf]
, интегрирует систему дифференциальных уравнений от t0
к tf
с начальными условиями y0
. Каждая строка в массиве решения y
соответствует значению, возвращенному в вектор-столбце t
.
Весь MATLAB® Решатели ОДУ могут решить системы уравнений формы , или проблемы, которые включают большую матрицу, . Решатели все использование подобные синтаксисы. ode23s
решатель только может решить задачи с большой матрицей, если большая матрица является постоянной. ode15s
и ode23t
может решить задачи с большой матрицей, которая сингулярна, известна как дифференциально-алгебраические уравнения (ДАУ). Задайте большую матрицу с помощью Mass
опция odeset
.
ode45
универсальный решатель ОДУ и первый решатель, который необходимо попробовать за большинство проблем. Однако, если проблема жестка или требует высокой точности, то существуют другие решатели ОДУ, которые могут лучше подходить для проблемы. Смотрите Выбирают ODE Solver для получения дополнительной информации.
[
также использует настройки интегрирования, заданные t
,y
] =
ode45(odefun
,tspan
,y0
,options
)options
, то, которое является аргументом, создало использование odeset
функция. Например, используйте AbsTol
и RelTol
опции, чтобы задать допуски абсолютной и относительной погрешности или Mass
опция, чтобы обеспечить большую матрицу.
[
дополнительно находит, где функции (t, y), вызвал функции события, являются нулем. В выходе, t
,y
,te
,ye
,ie
]
= ode45(odefun
,tspan
,y0
,options
)te
время события, ye
решение во время события и ie
индекс инициированного события.
Для каждой функции события задайте, должно ли интегрирование завершить работу в нуле и имеет ли направление нулевого пересечения значение. Сделайте это путем установки 'Events'
свойство к функции, такой как myEventFcn
или @myEventFcn
, и создание соответствующей функции: Значение
, isterminal
, direction
] = myEventFcn
T
Y
). Для получения дополнительной информации смотрите Местоположение События ОДУ.
ode45
основан на явной формуле Рунге-Кутта (4,5), модификации Дорманда-Принца. Это - одношаговый решатель – в вычислении y(tn)
, этому нужно только решение в непосредственно предшествующем моменте времени, y(tn-1)
[1], [2].
[1] Dormand, J. R. and P. J. Prince, “A family of embedded Runge-Kutta formulae,” J. Comp. Appl. Math., Vol. 6, 1980, pp. 19–26.
[2] Шемпин, L. F. и М. В. Рейчелт, “Пакет ODE MATLAB”, SIAM Journal на Научных вычислениях, Издании 18, 1997, стр 1–22.