И другие программы этой серии
К примеру, фазовый портрет стационарного синусоидального колебания представляет собой эллипс или окружность, которые являются предельными циклами. Отклонение от этих простых форм указывает на наличие нелинейности. Затухающие или нарастающие колебания дают фазовые портреты в виде закручивающейся или раскручивающейся спирали. Рассмотрение более тонких деталей фазовых портретов выходит за рамки данного учебного курса.
8.9. Примеры решения дифференциальных уравнений
8.9.1. Пример на движение брошенного вверх тела
Простейшее дифференциальное уравнение y\' \' (t) = –g описывает свободное падение тела в гравитационном поле Земли. Константа графитации g = 9,8. Найдем решение этого уравнения в безразмерном виде, хотя на самом деле единцами измерения будут секунды для времени и метры для высоты. Пусть высота полета будет y1=y, а скорость y2=y\'. Начальные условия следует задать в виде y0=[0;10] – это значит, что начальная высота тела равна 0, а скорость полета в момент его бросания вверх равна 10. Решается задача на движение брошенного вверх тела без учета сопротивления воздуха.
Для решения задачи составим простой скрипт-файл с именем demoode:
y0=[0; 10] % Задание вектора начальных условий
ts=0:.2:2; % Задание сетки времен
dydt=@(t,y)[y(2);-9.8]; % Задание анонимной функции правых частей ODE
[to,yo]=ode45(dydt,ts,y0) % Решение решателем ode45
Остается пустить пример исполнением команды с именем файла:
>> demoode y0 =
to =
yo =
0
10
0
0.2000
0.4000
0.6000
0.8000
1.0000
1.2000
1.4000
1.6000
1.8000
2.0000
0
10.0000
1.8040
8.0400
3.2160
6.0800
4.2360
4.1200
4.8640
2.1600
5.1000
0.2000
4.9440
-1.7600
4.3960
-3.7200
3.4560
-5.6800
2.1240
-7.6400
0.4000
-9.6000
Результат вполне очевиден – выдаются векторы-столбцы начальных условий и времени и матрица значений высот тела и скоростей (положительная скорость означает подъем тела, отрицательная – его падение).
Начало в части 1