Мегаобучалка Главная | О нас | Обратная связь


Решение ОДУ первого порядка.



2018-07-06 386 Обсуждений (0)
Решение ОДУ первого порядка. 0.00 из 5.00 0 оценок




Основой для решения обыкновенных дифференциальных уравнений первого порядка является задача Коши:

С одной зависимой переменной y(x).

Пример.

Дано дифференциальное уравнение

x'(t) + 2x(t) = sin(t),

x(0) = 0.

После запуска системы MatLab нажмем кнопку Simulink, а затем в открывшемся окне кнопку Create a newModel. В открывшемся файле создадим схему решения уравнения, перетаскивая при нажатой левой кнопки мыши необходимые блоки из окна SimulinkLibraryBrouser.

Для построения схемы решения уравнения в Simulink используется блок Integrator (класс Continuos). На его вход подается производная, а на выходе получают величину x. Блоки Sum (Сумматор) и Gain (Усилитель) (класс Math) необходимы для формирования значения x' в соотствии с ОДУ. Для получения сигнала sin(t) используется блок SineWave (класс Sources), в котором необходимо провести установки, соответствующие задаче, открыв блок двойным щелчком мыши или выбрав опцию BlockParameters при нажатой правой кнопке мыши. Полученное значение x(t) подается на вход блока Scope. При открытии данного блока появляется график решения. Установить масштабы осей, соответствующие полученному решению можно, нажав кнопку Autoscale.

Для проверки найденного решения в окне CommandWindow создадим М - файл для решения задачи (File ==>New ==> M-file). В открывшемся окне создадим функцию решения задачи, которую сохраним в текущей директории под именем f.m (указанное имя система предлагает по умолчанию).

После этого в командном окне наберем текст:

>> t=(0:0.1:2);

>> y=f(t);

>>plot(t,y)

>>gridon

После выполнения команд открывается окно с графиком функции. Очевидно, что два полученных графика идентичны.

Решение систем ОДУ первого порядка.

Рассмотрим решение системы ОДУ первого порядка.

Пример.

Модифицированная задача Лотки - Вольтера.

С учетом самоограничения на рост популяции жертв

Зададим параметры задачи: α = 0.1; β = 0.05; γ = 0.03; δ = 0.2; ε = 0.15.

Блок - схема решения задачи в системе Simulink:

Раскрыв блок интегратора, зададим начальные значения: y1 = 2, y2 = 0.01.

После окончания моделирования, раскрывая блоки Scope и XY-Graph, можно увидеть графики изменения численности и фазовый портрет решения системы:

Создадим также в MatLab М - файл для задания правой части системы ОДУ:

functiondy=vlm(t,y)

dy=zeros(2,1);

dy(1)=y(1)*(0.1-0.05*y(2)-0.03*y(1));

dy(2)=-y(2)*(0.2-0.15*y(1));

Для конкретного набора начальных значений систему можно решить, используя метод Рунге - Кутты 4-го порядка (встроенная функция ode45):

> [T, Y] = ode45('vlm',[0 164],[2 0.01]);



2018-07-06 386 Обсуждений (0)
Решение ОДУ первого порядка. 0.00 из 5.00 0 оценок









Обсуждение в статье: Решение ОДУ первого порядка.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (386)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)