Имеется некоторое тело, начальная скорость равна нулю. Тело не закреплено и падает. Задача — изобразить график зависимости координаты от времени. Моделирование свободно падающего тела осуществляется с помощью блока 6-DOF Joint.
Координата вычисляется так:
Теория в Википедии. Начальную координату считаем нулевой, как и начальную скорость.
Она, как не трудно видеть из формулы, не зависит от массы. Тем не менее, масса у тела в модели есть. На результаты это не повлияет. Модель выглядит так:
Роль тела выполняет блок Solid. Для моделировании свободно падающего тела задействован блок 6-DOF Joint, дающий 6 степеней свободы в перемещениях системы координат F (соединена с СК «R» твердого тела Solid)относительно системы координат B (соединена с World Frame). Блоки PS-Simulink Converter и Scope нужны для отображения графика. Три блока: Solver Configuration, World Frame и Mechanism Configuration стандартные и необходимы для любой модели. Они задают тип решателя, мировую СК (вроде точки отсчета), а в блоке конфигурации механизма указывается, куда действует сила тяжести.
Чтобы не вытаскивать все блоки из библиотеки вручную, можно воспользоваться командой «smnew» (в командной строке MATLAB). Это создаст набор блоков автоматически, не нужные — удалить.
Результаты моделирования такие:
Чтобы увидеть график, нужно запустить модель, предварительно открыв окно блока Scope двойным щелчком на самом блоке.
Корректность результатов подтверждается расчетами по приведенной формуле.
Сенсорный порт на блоке 6-DOF Joint нужно включать, выбрав правильную координату. В нашем случае, ускорение свободного падения действует в направлении оси Z (настройки блока Mechanism Configuration по умолчанию). Открываем настройки блока 6-DOF Joint двойным щелчком и настраиваем сенсорный порт так:
Если дважды продифференцировать функцию координаты по времени, получится ускорение свободного падения. Знак минус — т.к. вниз направлено (против оси). Ниже приведены иллюстрации видоизмененной схемы, результата и окно настроек для смены разрешения по времени: