Иллюстрированный самоучитель по Matlab


Использование решателей систем ОДУ - часть 4


/p>

Решатель bvp4c имеет очень небольшое число параметров, но можно вводить не только матрицу Якоби интегрируемой функции, но и матрицу Якоби, содержащую частные производные функции граничных условий по границам интервала и по неизвестным параметрам.

Покажем применение решателя ОДУ на ставшем классическом примере — решении уравнения Ван-дер-Поля, записанного в виде системы из двух дифференциальных уравнений:

y'

1=

y

2 ;

y'

2=

100*(1-y

1

)^2

*

y

2

-y

1

при начальных условиях

y

1

,(0) = 0; 

y

2

(0) = 1.

Перед решением нужно записать систему дифференциальных уравнений в виде ode-функции. Для этого в главном меню выберем File

>

New > M-File и введем

function dydt = vdp100(t.y)

dydt = zeros(2.1);

% a

column vector

dydt(l) = y(2);

dydtC2) = 100*(1 -у(1^)2)*у(2) -y(1);

Сохраним m-файл-функцию. Тогда решение решателем ode15s и сопровождающий его график можно получить, используя следующие команды:

» [T,Y]=odel5s(@vdp100.[0 30].[2 0]); 

» plot(T.Y)

» hold on:gtext('yl').gtext('y2')

Последние команды позволяют с помощью мыши нанести на графики решений y

1

= y(1) и у

2

= y(2) помечающие их надписи.

 




Начало  Назад  Вперед