exponenta event banner

Моделирование объектов с идентичной динамикой с использованием для каждой подсистемы

В этом примере показано, как моделировать несколько объектов с одинаковой динамикой с помощью подсистемы «Для каждого». Количество объектов параметризуется длиной входного сигнала.

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

Непрерывная динамика трех идентичных метрономов в sldemo_metro_basic моделируется в идентичных подсистемах: sldemo_metro_basic/Metronome1, sldemo_metro_basic/Metronome2, и sldemo_metro_basic/Metronome3. Эти три подсистемы можно представить как одну для каждой подсистемы. Исходное положение метрономов передается в качестве параметра маски в подсистему For Each и используется в качестве начального условия для одного из интеграторов. Подсистема For Each сконфигурирована для разделения этого параметра по первому измерению. В результате входной вектор с тремя элементами определяет исходные положения для трех метрономов.

Рисунок 1: Метрономы, смоделированные с использованием трех подсистем с одинаковой динамикой

Рис. 2: Метрономы, смоделированные с использованием одной подсистемы для каждой

При изучении динамики движущегося основания следует отметить, что оно включает три одинаковых дифференциальных члена второго порядка, соответствующих каждому метроному. Можно заменить три копии на одну для каждой подсистемы. Вместо девяти входных сигналов подсистема For Each требует только три входных сигнала: угловые смещения, угловые скорости и угловые ускорения для всех метрономов. Подсистема For Each сконфигурирована для разделения входного сигнала по первому измерению и работает на одном элементе из каждого сигнала для одной итерации (т.е. на один метроном).

Рис. 3: Дифференциальные термины второго порядка, смоделированные с использованием копий одной и той же подсистемы

Рис. 4: Дифференциальные термины второго порядка, смоделированные с использованием одной подсистемы для каждой

После реализации исходной модели с двумя подсистемами For Each модель теперь параметризуется для количества метрономов. Чтобы увеличить число метрономов, введите новое значение параметра маски.

Например:

Theta4 = 0.7568;

Дважды щелкните по блоку Metronome_i, чтобы открыть диалоговое окно маски, и измените позиции ввода (секционированные) на: [Theta1 Theta2 Theta3 Theta4]

Выполните модель, чтобы увидеть углы смещения четырех метрономов и положение движущегося основания.

sim('sldemo_metro_foreach');

Рис. 5: Анимация моделирования с параметризацией каждой подсистемы для четырех метрономов

Рис. 6: Результат моделирования для каждой подсистемы, параметризованной для четырех метрономов