Извлечение векторных элементов с помощью блока Demux

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

В этом примере параметр Number of outputs блока Demux установлен на [-1, 3, -1]. Таким образом, блок выводит три сигнала, где второй сигнал всегда имеет три элемента. Размеры первого и третьего сигналов зависят от размера входного сигнала. Для вектора входа с семью элементами блок Demux выходов два элемента на первом порту, три элемента на втором порту и два элемента на третьем порту.

ans = 

  Simulink.SimulationOutput:
                   tout: [11x1 double] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

См. также