Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

> linresp := plot(h1, t=0..20, axes=boxed, color=black): display(linresp);

Вид этой зависимости представлен на рис. 11.19. Он соответствует реакции системы второго порядка для случая затухающих колебаний.

Рис. 11.19. Одна из временных зависимостей реакции системы второго порядка

А теперь зададимся целью наглядно проиллюстрировать изменение временной зависимости реакции системы при изменении параметра С от 0 до 2 при М=1 и K=1. Для этого выполним следующие вполне очевидные команды:

> х := subs(M=1, K=1, h);

> plot3d(x,
С=0..2, t=0..20, axes=boxed);

Соответствующий график показан на рис. 11.20. Он прекрасно иллюстрирует переход от апериодического режима при С=2 к колебательному при С= 0 при изменении времени от 0 до 20.

Рис. 11.20. Динамика развития колебаний в системе при изменении параметра С

Аналогичным образом можно построить трехмерный образ временной зависимости реакции системы для М=1, С=0.25 и изменении параметра K от 0 до 3. Для этого надо выполнить команды:

> x1 := subs(М=1, С=0.25, xt);

x1 := 0.5039526307 I K (-1.984313483 I + 1.984313483 I e(-0.1250000000 t) cosh(0.9921567415 I t) + 0.25 е(-0.1250000000 t) sinh(0.9921567415 I t))

> plot3d(x1, K=0..3, t=0..20, axes=boxed);

Диаграмма временных зависимостей представлена на рис. 11.21.

Рис. 11.21. Динамика развития колебаний в системе при изменении параметра K

Представленные на рис. 11.20 и 11.21 диаграммы дают весьма наглядное представление о динамике поведения рассмотренной системы. Но еще важнее то, что просто изменением операторной записи G и R по описанной методике можно анализировать и наглядно представлять работу множества линейных систем.

11.2. Моделирование динамических задач и систем

11.2.1. Расчет траектории камня с учетом сопротивления воздуха

Вы хотите метнуть камень в огород вашего вредного соседа? Разумеется во время его отсутствия. Давайте промоделируем эту ситуацию, предположив два актуальных случая: дело происходит на Земле в условиях, когда наша планета лишилась воздуха и когда, слава богу, он все же есть. В первом случае сопротивления воздуха нет, а в другом сопротивление воздуха есть и его надо учитывать. Иначе камень упадет в ваш огород, а не в огород соседа!

Учет сопротивления воздуха не просто усложняет задачу нашу задачу. Он делает ее нелинейной. В связи с этим мы применим численные методы решения дифференциальных уравнений. Кроме того, учитывая громоздкость документов, описывающих приведенные ниже задачи, перейдем к их записи прямо в тексте книги.

Итак, пусть подвернувшиеся под руку камни с массой 500 и 100 грамм брошены под углом 45 к горизонту со скоростью VO=20 м/с. Найдем их баллистические траектории, если сила сопротивления воздуха Fmp=A*V, где А=0,1 Н∙с/м. Сравним их с траекториями, получающейся без учета сопротивления воздуха. Документ с решением этой задачи, описанным ниже, представлен в файле balist.

Начнем с подключения пакета plots, нужного для визуализации данной задачи:

> restart; with(plots):

Warning, the name changecoords has been redefined

Составим параметрические уравнения для проекций скорости на оси координат:

> Vox:=Vc*cos(alpha);Voy:=Vo*sin(alpha);

Vox:= Vo cos(α)
Voy:= Vo sin(α)

Мы

рассматриваем два случая: камень массой 500 г и камень массой 100 г. Поскольку для каждого случая мы предусматриваем расчет в двух вариантах (с учетом сопротивления воздуха и без такого учета), то мы должны составить 4 системы дифференциальных уравнений (ДУ). Каждая система состоит из двух ДУ второго порядка и вид этих систем известен из курса физики. Ниже представлено задание этих систем ДУ (для первой системы дан вывод ее вида):

> sys1:=massa[1]-diff(x(t), t$2) =

– A[1]*diff(x(t),t),massa[1]*diff(y(t), t$2) = -A[1]*(diff(y(t),t))-massa[1]*g;

> sys2:=massa[1]*diff(x(t), t$2) =

– A[2]*diff(x(t),t),massa[1]*diff(y(t), t$2) =

– A[2]*(diff(y(t),t))-massa[1]*g;

> sys3:=massa[2]*diff(x(t), t$2)=

– A[1]*diff(x(t),t),massa[2]*diff(y(t), t$2)=

– A[1]*(diff(y(t),t))-massa[2]*g;

> sys4:=massa[2]*diff(x(t), t$2) =

– A[2]*diff(x(t),t),massa[2]*diff(y(t), t$2) =

– A[2]*(diff(y(t),t))-massa[2]*g;

Зададим исходные числовые безразмерные данные для расчета:

> Vo:=20;massa:=[0.5,0.1];А:=[0.1,0];alpha:=Pi/4;g:=9.8;

Vo := 20
massa := [.5, .1]
А := [.1, 0] 1
α := ¼ π
4
g := 9.8

Выполним решение заданных систем ДУ:

> pi:=dsolve({sys1,х(0)=0,D(х)(0)=Vox,y(0)=0,D(у)(0)=Voy}, {y(t),x(t)},type=numeric ,output=listprocedure):

> p2:=dsolve({sys2,x(0)=0,D(x)(0)=Vox,y(0)=C,D(y){0)=Voy}, {y(t),x(t)},type=numeric, output=listprocedure):

> p3:=dsolve({sys3,x(0)=0,D(x)(0)=Vox,y(0)=0,D(y)(0)=Voy}, {y(t),x(t)},type=numeric, output=listprocedure):

> p4:=dsolve({sys4,x(0)=0,D(x)(0)=Vox,y(0)=0,D(y)(0)=Voy}, {y(t),x(t)},type=numeric, output=listprocedure):

Создадим графические объекты - результаты решения систем ДУ:

> a1:=odeplot(p1, [x(t), y(t)], 0..3, color=green, view=[0..50,0..15], thickness=2):

> a2:=odeplot(p2, [x(t), y(t)], 0..3, color=red, view=[0..50, 0..15], thickness=2):

> a3:=odeplot(p3, [x(t), y(t)], 0..3, color=blue, view=[0..50, 0..15], thickness=2:

> a4:=odeplot(p4, [x(t), y(t)], 0..3, color=black, view=[0..50, 0..15], thickness=2):

Построим графики траекторий для первого случая:

> t:=textplot([[25,8, `А=0.1`], [35,9, `А=0`]],color=blue, font=[TIMES, ROMAN, 12])

> t1:=textplot([[17, 3, `A=0.1`], [35,9, `A=0`]], color=blue, font=[TIMES, ROMAN, 12]):

> display({a1,a2,t},title=`Траектория полета тела массой 500 г`, labels=[x,y], labelfont=[TIMES,ROMAN,14]);

Поделиться с друзьями: