При использовании блока 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]