Для каждого
Элементы процесса или подмассивы параметра маски или входного сигнала независимо
- Библиотека:
Ports & Subsystems
Описание
Блок For Each служит блоком управления для блока For Each Subsystem. В частности блок For Each позволяет блокам в Для Каждой Подсистемы обработать элементы входных сигналов или параметров маски независимо. Каждый блок в этой подсистеме, которая имеет состояния, поддерживает отдельный набор состояний для каждого элемента или подмассива, который это обрабатывает. Когда набор блоков в подсистеме обрабатывает элементы или подмассивы, подсистема конкатенирует результаты сформировать выходные сигналы.
Можно использовать Для Каждой подсистемы, чтобы многократно вычислить вывод после изменения параметры маски или входные параметры. Для этого вы конфигурируете разделение входных сигналов или параметров маски в диалоговом окне блока For Each.
Входные сигналы раздела к подсистеме
В Для Каждой подсистемы, можно задать который входные сигналы к разделу для каждой итерации с помощью вкладки Input Partition в диалоговом окне блока For Each. При определении сигнала, который будет разделен, также необходимо задать Размерность Раздела, Ширину Раздела и параметры Смещения Раздела.
Параметры раздела в блоке For Each
Можно разделить параметры маски блока For Each Subsystem. Разделение полезно для систем, которые имеют идентичные структуры в каждой итерации, но различных значениях параметров. В этом случае изменение модели, чтобы разделить дополнительные входные сигналы для каждого параметра является громоздким. Вместо этого добавьте параметр маски к Для Каждой подсистемы. Для получения дополнительной информации смотрите, Создают Простую Маску. Чтобы выбрать параметр маски для разделения, используйте вкладку Parameter Partition на диалоговом окне блока For Each. Для получения дополнительной информации смотрите, Выбирают Partition Parameters
Конкатенация Вывода
Вы задаете размерность, по которой можно конкатенировать результаты путем определения Размерности Конкатенации во вкладке Output Concatenation.
Результаты, сгенерированные блоком для каждого подмассива, складывают по измерению конкатенации, d1 (ось Y). Принимая во внимание, что, если вы задаете d2 путем установки размерности конкатенации на 2, результаты конкатенируют вдоль d2 направления (ось X). Таким образом, если процесс генерирует векторы - строки, то конкатенированным результатом является вектор - строка.
Выберите Partition Parameters
При выборе входного сигнала или параметра маски подсистемы для разделения, необходимо задать, как анализировать его в элементы или подмассивы для каждой итерации. Сделайте это путем устанавливания целочисленных значений для Размерности Раздела, Ширины Раздела и параметров Смещения Раздела.
Как иллюстрация, рассмотрите матрицу А входного сигнала формы:
Метки d1 и d2, соответственно, задают размерности 1 и 2. Если вы сохраняете настройку по умолчанию 1
и для размерности раздела и для ширины раздела и 0
для смещения раздела, то перпендикуляр срезов Simulink, чтобы разделить размерность d1 в ширине, равной ширине раздела, которая является одним элементом.
Матрица А разлагается в эти три вектора - строки.
Если вместо этого вы задаете d2 как размерность раздела путем ввода значения 2
, перпендикуляр срезов Simulink к d2, чтобы сформировать три вектора - столбца.
В дополнение к установке Размерности Раздела к 2
, если вы устанавливаете Ширину Раздела на 2
и Смещение Раздела к -1
, Симулинк использует два наложения 3x2 разделы для обработки.
Для примера с помощью параметра Смещения Раздела откройте модель Simulink slexForEachOverlapExample.
Примечание
Только сигналы рассматриваются одномерными в Simulink. Параметры маски являются строкой или векторами - столбцами, согласно их ориентации. Чтобы разделить вектор - строку, задайте размерность раздела как 2 (вдоль столбцов). Чтобы разделить вектор - столбец, задайте размерность раздела как 1 (вдоль строк).
Порты
Входной параметр
развернуть все
\in
Предупредите о входном параметре к блоку подсистемы
скаляр | вектор | матрица
Размещение блока Inport в блоке подсистемы добавляет внешний входной порт к блоку. Метка порта совпадает с именем блока Inport.
Используйте блоки Inport, чтобы получить сигналы от окружения.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
Вывод
развернуть все
Out
— Signal вывод от подсистемы
скаляр | вектор | матрица
Размещение блока Outport в блоке подсистемы добавляет выходной порт от блока. Метка порта на блоке подсистемы является именем блока Outport.
Используйте блоки Выходного порта, чтобы отправить сигналы в окружение.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
Параметры
развернуть все
Введите вкладку раздела
Выберите каждый входной сигнал, вы хотите разделить и задать соответствующие параметры Ширины Размерности и Раздела Раздела. Смотрите страницу с описанием блока Inport для получения дополнительной информации.
Порт
Список входных портов
никакое значение по умолчанию (значение по умолчанию) | имя входного порта
Список входных портов соединяется с блоком For Each Subsystem.
Раздел
Выберите сигналы входного порта разделить
от (значения по умолчанию) | на
Выберите сигналы входных портов, соединенные с блоком For Each Subsystem к разделу в подмассивы или элементы.
- 'off'
Очистите сигналы входного порта.
- на
Выберите сигналы входного порта разделить.
Зависимость
Выбор этого параметра включает параметры Ширины Размерности и Раздела Раздела для выбранного сигнала входного порта.
Программируемое использование
Блочный параметр: InputPartition |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Partition Dimension
— Задайте размерность
1
(значение по умолчанию) | целое число
Задайте размерность, через которую можно нарезать массив входного сигнала. Получившиеся срезы перпендикулярны размерности, которую вы задаете. Срезы также делят массив в подмассивы или элементы, как соответствующий.
1
Задайте размерность 1
.
- целое число
Задайте размерность. Минимальное значение 1
.
Программируемое использование
Блочный параметр: InputPartitionDimension |
Ввод: символьный вектор |
Значения: '1' |' <целое число>' |
Значение по умолчанию: '1' |
Partition Width
— Задайте ширину
1
(значение по умолчанию) | целое число
Задайте ширину каждого среза раздела входного сигнала.
1
Ширина одного элемента.
- целое число
Задайте ширину. Минимальное значение 1
.
Программируемое использование
Блочный параметр: InputPartitionWidth |
Ввод: символьный вектор |
Значения: '1' |' <целое число>' |
Значение по умолчанию: '1' |
Partition Offset
— Задайте смещение раздела
0
(значение по умолчанию) | целое число
Задайте смещение для каждого среза раздела входного сигнала.
0
Никакое смещение между срезами раздела.
- целое число
Задайте смещение раздела, где сумма ширины раздела и смещения раздела является положительным целым числом.
Например, Ширина Раздела 3
и Смещение Раздела -2
указывают, что каждые 3 среза элемента перекрывают свои соседние срезы 2 элементами.
Программируемое использование
Блочный параметр: SubsysMaskParameterOffset |
Ввод: символьный вектор |
Значения: '0' |' <целое число>' |
Значение по умолчанию: '0' |
Выведите вкладку конкатенации
Для каждого выходного порта задайте размерность, по которой можно сложить (конкатенируют) результаты блока For Each Subsystem. Смотрите страницу с описанием блока Outport для получения дополнительной информации.
Порт
Список выходных портов
ни один (значение по умолчанию) | имя выходного порта
Список выходных портов соединяется с блоком For Each Subsystem.
Concatenation Dimension
— Задайте размерность
1
(значение по умолчанию) | integer
Задайте размерность, по которой можно сложить результаты блока For Each Subsystem.
1
Результаты складывают в d1 направлении. Если блок генерирует векторы - столбцы, результаты процесса конкатенации в векторе отдельного столбца.
целое число
Результаты складывают в d2 направлении. Если блок генерирует векторы - строки, результаты процесса конкатенации в векторе одной строки. Минимальное значение 1
Программируемое использование
Блочный параметр: OutputConcatenationDimension |
Ввод: символьный вектор |
Значения: '1' |' <целое число>' |
Значение по умолчанию: '1' |
Вкладка раздела параметра
Выберите каждый параметр маски к разделу и задавать соответствующие параметры Ширины Размерности и Раздела Раздела. Параметры появляются в списке, только если вы добавили доступный для редактирования параметр к маске родительского элемента Для Каждой подсистемы.
Parameter
— Список параметров маски
'ParameterName'
Список параметров маски для блока For Each Subsystem.
Раздел
Выберите параметры маски к разделу
от (значения по умолчанию) | на
Выберите параметры маски для блока For Each Subsystem к разделу в подмассивы или элементы.
- 'off'
Очистите параметры маски.
- на
Выберите параметры маски к разделу.
Зависимость
Выбор этого параметра включает параметры Ширины Размерности и Раздела Раздела для выбранного параметра маски.
Программируемое использование
Блочный параметр: SubsysMaskParameterPartition |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Partition Dimension
— Задайте размерность
1
(значение по умолчанию) | целое число
Задайте размерность, через которую можно нарезать массив входного сигнала как целое число, больше, чем или равный одному. Получившиеся срезы перпендикулярны размерности, которую вы задаете. Срезы также делят массив в подмассивы или элементы, как соответствующий.
Программируемое использование
Блочный параметр: SubsysMaskParameterPartitionDimension |
Ввод: символьный вектор |
Значения: '1' |' <целое число>' |
Значение по умолчанию: '1' |
Partition Width
— Задайте ширину раздела
1
(значение по умолчанию) | целое число
Задайте ширину каждого среза раздела входного сигнала как целое число, больше, чем или равный одному.
Программируемое использование
Блочный параметр: SubsysMaskParameterPartitionWidth |
Ввод: символьный вектор |
Значения: '1' |' <целое число>' |
Значение по умолчанию: '1' |
Представленный в R2010a