Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


Физическая лаборатория.
Б.М.Манзон
 
Физическая лаборатория

Команда Motion

Команда motion выводит уравнения и решает задачу движения для заданного физического объекта и типа движения а также обращается к команде geom_physдля вывода на дисплей геометрии задачи и результирующего движения.

Приведем конкретные примеры. Будем решать задачи движения одиночных тел в трех измерениях, поэтому вводим соответствующую команду инициализации пакета

> physics[ph_init](1,3,object=body);
[Maple Math]

Задаем тип объекта (возможно задать sphere (сфера), hemisphere (полусфера), cone (конус), acone (асимметричный (эллиптический) конус), ellipsoid (эллипсоид), прямоугольный параллелепипед (cuboid) и цилиндр (cylinder).

> Object:=ellipsoid;
[Maple Math]

Задаем тип движения. Возможно колебательное движение (pendulum), вращение вокруг закрепленной точки (gyroscope), качение по шероховытой плоскости (roll), качение внутри сферической поверхности (sphere_roll) скольжение по абсолютно гладкой плоскости (slip).

> Type:=pendulum;
[Maple Math]

Задаем геометрические параметры физического объекта, необходимые для расчета его массы, момента и центра инерции, а также самого движения.

> Axes:=[3,5,8];
[Maple Math]

а также физические параметры тела и поля.

плотность (по умолчанию 10 г/см3)

> #rho:=7.8;

Напряженность силового поля (по умолчанию [0,0,980] - для гравитачионного поля вдоль вертикальной оси (R3).

> #gravity:=[0,0,980];

Теперь задаем начальное положение центра инерции тела относительно начала лабораторной системы координат, например

> Center:=[1,2,-5];
[Maple Math]

и начальный поворот тела (связанной с ним эйлеровой системы координат) относительно лабораторной (декартовой системы координат).

> Angles:=[Pi/3,Pi/6,Pi/4];
[Maple Math]

Задаем начальные угловые скорости

> Velocity:=[16];
[Maple Math]

> Mass:=rho*physics[body_inert](m,Axes,object='ellipsoid','volume');
[Maple Math]

и момент инерции

> Inertia:=physics[body_inert](Mass,Axes,object='ellipsoid');
[Maple Math]

Теперь можно нарисовать геометрию задачи пользуясь ключом static в команде motion

> motion(Axes,[op(Center),op(Angles)], Velocity, intensity=gravity, type=Type, object=Object,static, style=contour, contours=30, color=wheat, axes=normal, scaling=constrained, labels=[r1,r2,r3], labelfont=[TIMES,BOLD,14]); [Maple Plot]

Вы можете подобрать стили оформления рисунка по вашему вкусу. В случае задания колебательного движения ( pendulum ) осью вращения является ось r1 лабораторной системы координат. На рисунке помимо главных осей инерции эллипсоида (которые являются также осями элеровой системы координат) изображено расстояние d от центра инерции до оси вращения, входящее в уравнения движения.
Направляющие косинусы n оси вращения в эйлеровой системе координат и расстояние d определяются при помощи соотношений.

> n0:=physics[conv_coord]((r,v)->r,[1,0,0],move_c(v),frame=inv_zveer,angles=Angles);
l0:=physics[conv_coord]((r,v)->r,Center,move_c(v),frame=zveer,angles=Angles);
d0:=evalf(sqrt(evalm([0,l0[2],l0[3]]&*[0,l0[2],l0[3]])));
[Maple Math]

  [Maple Math]  

[Maple Math]

Начальный угол отгносительно равновесного положения, связанный с начальным смещением центра инерции относительно оси вращения

> q01:=evalf(simplify(arctan(-l0[2],-l0[3])));
[Maple Math]

Теперь можно вывести уравнения движения в символьной форме

> motion([a,b,c],[x,y,z,op(Angles)],[omega[theta]],'density'=rho,'intensity'=[0,0,g], type=Type,object=Object,equations);

labs21.gif (1112 bytes)

labs22.gif (1137 bytes)

labs22_1.gif (722 bytes)

 
[Maple Math]

 labs24.gif (986 bytes)

labs24_1.gif (907 bytes)

 [Maple Math]

и после подстановки численных значений

> motion(Axes,[op(Center),op(Angles)],Velocity,type=Type,object=Object,equations);

[Maple Math]

labs27.gif (802 bytes)

labs27_1.gif (1356 bytes)

labs27_2.gif (276 bytes)[Maple Math]

Численное решение задачи

> Q:=motion(Axes,[op(Center),op(Angles)],Velocity,type=Type,object=Object,solution);
[Maple Math]

Строим график зависимости угла от времени

> plot(Q[1],0..3);

 [Maple Plot]

Генерируем анимацию движения физического маятника

> motion(Axes,[op(Center),op(Angles)], Velocity, type=Type, object=Object, style=patch, lightmodel=`light4`, shading=`zhue`, frames=35, points=30, scaling=constrained);

 

 

В начало страницы К предыдущему разделуК следующему разделу

| На первую страницу | Поиск | Купить Matlab

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


Copyright © 1993-2024. Компания Softline. Все права защищены.

Дата последнего обновления информации на сайте: 04.03.17
Сайт начал работу 01.09.00