Приведем описание m-файла-функции для решения обыкновенного диффе-
ренциального уравнения (6.2). Поскольку все методы реализованы в Matlab в
одном стиле, то вместо конкретного имени m-файла-функции будем использо-
вать обобщенное имя
solver (решатель), понимая под ним ode34 или ode45.
[T,y]=solver('f', tspan, y0) интегрирует уравнение вида
),( ytfy
от
t0 до tfinal с начальными условиями y0. Здесь 'f' – строка, содержащая имя
m-файла-функции, реализующей правую часть уравнения – функцию ),( y
,
оформленную в виде
function v=f(t,y),
tspan – массив из двух элементов, tspan=[t0, tfinal]. T – вектор значений аргу-
мента
, при которых вычисляются значения функции )(
y , y – вектор значений
функции )(
y . Для получения решения в конкретных точках t0, t1,…, tfinal
(расположенных в порядке увеличения или уменьшения) можно использовать
tspan=[t0, t1, …, tfinal].
[T,y]=solver('f', tspan, y0, options) дает решение, подобное описанному вы-
ше, но с параметрами, определяемыми значениями аргумента
options, создан-
ного функцией
odeset. Обычно используемые опции включают допустимое
значение относительной погрешности RelTol (10
–3
по умолчанию) и допусти-
мое значение абсолютной погрешности
AbsTol (10
–6
по умолчанию).
В данном пособии использование функции
odeset не предполагается и она не
описывается.
[T,y]=solver('f', tspan, y0, options, p1, p2,…) дает решение, подобное опи-
санному выше, помещая дополнительные параметры
p1, p2,… в m-файл f вся-
кий раз, когда он используется. При этом файл
f должен быть оформлен в виде
function v=f(t, y, flag, p1, p2,…).
Если никакие опции не установлены, то необходимо использовать options=[].