96
Теперь сформированы все вспомогательные функции и решатель
bvp
4
c
готов к работе. Последовательность команд
>> solinit = bvpinit([0 1 2 3 4],[1 0]);
>> sol = bvp4c(@twoode,@twobc,solinit);
решает двухточечную краевую задачу на интервале [0, 4].
В результате выполнения команды
bvp
4
c
возвращается структура
sol
,
содержащая поля
x
,
y
,
yp
(вектор производных) и
solver
(имя решателя, в
данном случае –
bvp
4
c
).
График решения можно построить командой
plot(sol.x,sol.y)
Рис. 7. 4. Решение уравнения (верхняя кривая)
Заметим, что команда
bvp
4
c
при решении использует переменный шаг. В
этом можно убедиться, набрав команду
plot
(
sol.x
). Для получения
аппроксимации решения в конкретных точках можно использовать уже
упоминавшуюся команду
deval
. Первый ее аргумент – структура
sol
, а второй –
вектор точек, в которых нужно выполнить аппроксимацию. Так, по командам
xint
=
linspace
(0,4);
yint
=
deval
(
sol
,
xint
); вычисляется решение в 100 точках,
равномерно расположенных на интервале [0 4]. График первой компоненты
решения строится с помощью команды
plot
(
xint
,
yint
(1,:)).