Независимо обрабатываются элементы или подрешетки входного сигнала или параметра маски
Порты и подсистемы
Блок For Each служит блоком управления для блока For Each Subsystem. В частности, блок Для каждого позволяет блокам в подсистеме Для каждого обрабатывать элементы либо входных сигналов, либо параметров маски независимо. Каждый блок в этой подсистеме, имеющий состояния, поддерживает отдельный набор состояний для каждого элемента или подчисток, которые он обрабатывает. Когда набор блоков в подсистеме обрабатывает элементы или подрешетки, подсистема объединяет результаты для формирования выходных сигналов.
Используйте подсистему Для каждого (For Each) для итеративного вычисления выходных данных после изменения входных параметров или параметров маски. Для этого настройте разделение входных сигналов или параметров маски в диалоговом окне «Для каждого блока».
Чтобы указать входные сигналы для секционирования для каждой итерации в подсистеме Для каждой (For Each), используйте вкладку Входная секция (Input Partition) в диалоговом окне блока Для каждой (For Each). При указании сигнала, подлежащего секционированию, задайте параметры «Размер секции», «Ширина секции» и «Смещение секции».
Можно разделить параметры маски блока «Для каждой подсистемы». Секционирование полезно для систем, которые имеют идентичные структуры в каждой итерации, но разные значения параметров. В этом случае изменение модели на разбиение дополнительных входных сигналов для каждого параметра является громоздким. Вместо этого добавьте параметр маски в подсистему For Each. Дополнительные сведения см. в разделе Создание простой маски. Чтобы выбрать параметр маски для секционирования, используйте вкладку «Раздел параметров» диалогового окна «Для каждого блока». Дополнительные сведения см. в разделе Выбор параметров раздела ниже.
Определите размер для конкатенации результатов, указав Размер конкатенации (Concatenation Dimension) на вкладке Выходная конкатенация (Output Concatenation).
Результаты, генерируемые блоком для каждого подмассива, складываются вдоль размера конкатенации. По умолчанию используется размер 1 (ось Y), что означает, что результаты складываются вертикально. Однако при задании размера конкатенации 2 результаты объединяются вдоль горизонтального направления (оси X). Таким образом, если процесс генерирует векторы строк, то конкатенированный результат является матрицей в первом случае и вектором строк во втором случае.
При выборе входного сигнала или параметра маски подсистемы для секционирования необходимо указать, как разложить его на элементы или субчипы для каждой итерации. Для этого задайте целочисленные значения параметров «Размер секции», «Ширина секции» и «Смещение секции».
В качестве иллюстрации рассмотрим матрицу входного сигнала A формы:

Метки d1 и d2 соответственно определяют размеры 1 и 2. При сохранении значения по умолчанию 1 как для размера секции, так и для ширины секции, и 0 для смещения секции, то Simulink ® срезает перпендикулярно размеру секции 1 с шириной, равной ширине секции, то есть одному элементу :

Матрица A разлагается на три вектора строк:

Если вместо этого указать 2 в качестве размера разбиения Simulink срезает перпендикулярно размеру 2, образуя три вектора столбцов:

В дополнение к заданию для измерения секционирования значения 2, если для параметра «Ширина секции» задано значение 2 и смещение секции в -1Simulink использует два перекрывающихся раздела 3 на 2 для обработки.

Для примера, используя параметр Смещения Разделения, откройте модель slexForEachOverlapExample.
По умолчанию обрабатываются все разделы входного сигнала или параметра маски. Чтобы обработать подмножество секций, введите число секций для обработки в качестве числа итераций. В приведенных выше примерах матрицы, если для параметра «Смещение секции» установлено значение 0 (значение по умолчанию) и для параметра Число итераций (Number of iterations) установлено значение 2, только первые 2 строки или столбца входной матрицы A обрабатываются.
Примечание
Только сигналы считаются одномерными в Simulink. Параметры маски представляют собой векторы строк или столбцов в соответствии с их ориентацией. Для секционирования вектора строки укажите размер секционирования как 2 (вдоль столбцов). Для секционирования вектора столбца укажите размер секционирования как 1 (вдоль строк).