Моделирование колыбели Ньютона с виртуальной реальностью

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

Интересное последствие упругих соударений между шарами - то, что шары, которые выпущены, кажется, останавливаются, и равное количество шаров от другого конца выпущено (почти с той же энергией как входящие шары). Шары в середине, кажется, не перемещаются, несмотря на то, что они ответственны за передачу импульса от одного конца до другого.

Эта модель использует простую модель упругого соударения, чтобы описать взаимодействия между шарами. График Stateflow® использует локальные переменные, чтобы изобразить непрерывные состояния системы, а именно, положение p и скорость v. Обратите внимание на то, что обе этих локальные переменные заданы, чтобы иметь метод Обновления как continuous. Это позволяет вам называть их производные p_dot и v_dot соответственно. Поскольку номинальные движущие силы всех шаров идентичны, векторные присвоения описывают их в массе как:

p_dot = v;
v_dot = -g/l*sin(p);

Обратите внимание на то, что p_dot и v_dot не являются локальными переменными графика. Они автоматически создаются, потому что p и v заданы, чтобы быть непрерывными.

Модель использует простой цикл for, чтобы обнаружить столкновения между шарами. В одномерной установке, график только столкновения моделей между последовательными шарами с одним циклом for.

Ответ на столкновение также выражается просто. Каждое столкновение обработано как совершенно эластичное мгновенное столкновение. Положением и скоростью обмениваются на каждый из шаров, вовлеченных в столкновение.

Симуляция этой модели создает Simulink® 3D Animation™, который показывает движение шаров. Дважды кликните на любом шаре, чтобы запустить симуляцию.

Похожие темы