StateFlow   ОКМ   ДМ   экономическая информатика   визуальные среды - 4GL   Теория и практика обработки информации

Cистема численно-математического моделирования MatLab

Stateflow - Simulink

Векторизация в StateFlow

Рассмотрим два примера, поясняющих использование векторов и матриц в качестве входных и выходных переменных Stateflow-диаграмм. Необходимо отметить, что поддержка двухмерных матриц как входных и выходных переменных появляется впервые в версии Stateflow 5.0.

Для запуска соответствующих моделей в Help-навигаторе выберем закладку Demos, а далее найдем папку Stateflow-примеров с названием Matrix I/O (матричный ввод-вывод) .

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

В качестве входных величин data1 и data2 используются векторные сигналы блоков Constant и Constant1, т.е. векторы [1 2 3 4] и [2 4 6 8] соответственно. Описание этих переменных можно увидеть, открыв окно Stateflow Explorer.

Последовательность выполняемых над входными переменными действий определяется Stateflow-диаграммой Chart.

Как видно из рисунка, действием единственного безусловного перехода этой диаграммы является операция output=data1*data2+1; , что на языке С равносильно поэлементному умножению векторов (вычислению скалярного их произведения) и прибавлению к полученному результату единицы. Чтобы у пользователей не возникло сомнения, что речь идет именно о поэлементной, а не о матричной операции, в свободном поле диаграммы размещен эквивалентный код на языке MATLAB, в котором поэлементное умножение задается парой символов " .* ". В результате выполнения модели векторный выход Output примет значение [3 9 19 33], что отображается в окне блока Scope.

Векторизация вычислений по праву считается сильным местом пакета MATLAB, устраняя необходимость в использовании операторов DO или FOR и позволяя получить более быстрый и эффективный код. Данный пример показывает, что в Stateflow эта возможность также имеет место.

Второй пример называется Matrix Input and Output.

Этот пример демонстрирует способность Stateflow 5.0 принимать матричные сигналы от Simulink и возвращать ему матричные сигналы.

Входными сигналами являются матрицы data1=[1 2; 3 4] и data2=[3 2; 1 4]. Описание этих переменных можно увидеть, открыв окно Stateflow Explorer.

Последовательность действий, выполняемых над входными переменными, определяется Stateflow-диаграммой Chart.

Элемент матрицы final_out[i][j] определяется как сумма произведений элементов i-ой строки матрицы data1 на соответствующие элементы j-го столбца матрицы data2. В результате получаем выходную матрицу final_out, являющуюся произведением матриц data1 и data2. Поскольку в данном примере чтобы выполнить вычисления используется flow chart (потоковая диаграмма или блок-схема) и не используются промежуточные состояния, продолжительность времени моделирования может составлять всего один шаг. Результат выполнения модели можно видеть на следующем рисунке. В Simulink возвращен матричный сигнал.

StateFlow   ОКМ   ДМ   экономическая информатика   визуальные среды - 4GL   Теория и практика обработки информации

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

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution