Присвойте значения указанным элементам сигнала
Simulink / Математические операции
HDL Coder / Математические операции
Блок Assignment присваивает значения указанным элементам сигнала. Вы задаете индексы элементов, чтобы быть присвоенными значениями или путем ввода индексов в диалоговое окно блока или путем соединения внешнего источника индексов или источников с блоком. Сигнал в порту данных блока, U
, задает значения, которые будут присвоены Y
. Блок заменяет указанные элементы Y
с элементами от сигнала данных.
На основе значения вы вводите для параметра Number of output dimensions, таблица опций индекса отображена. Каждая строка таблицы соответствует одной из выходных размерностей в Number of output dimensions. Для каждой размерности можно задать элементы сигнала работать с. Задайте векторный сигнал как 1D сигнал и матричный сигнал как 2D сигнал. Чтобы включить внешний порт индекса, в соответствующей строке таблицы, устанавливают Index Option на Index vector (port)
.
Например, примите сигнал 5-D с режимом индексации на основе одним. Таблица в диалоговом окне блока Assignment изменяется, чтобы включать одну строку для каждой размерности. Если вы задаете каждую размерность со следующими записями:
Строка | Индексируйте опцию | Индекс |
---|---|---|
1 | Assign all | |
2 | Index vector (dialog) | [1 3 5]
|
3 | Starting index (dialog) | 4
|
4 | Starting index (port) | |
5 | Index vector (port) |
Присвоенными значениями является Y(1:end,[1 3 5],4:3+size(U,3),Idx4:Idx4+size(U,4)-1,Idx5)=U
, где Idx4
и Idx5
входные порты для размерностей 4 и 5.
При использовании блока Assignment в режиме normal mode Simulink® инициализирует, блокируют выходные параметры, чтобы обнулить, даже если модель явным образом не инициализирует их. В режиме Accelerator Simulink преобразует модель в S-функцию. Это вовлекает генерацию кода. Сгенерированный код не может сделать неявной инициализации блока выходные параметры. В таких случаях необходимо явным образом инициализировать выходные параметры модели.
Можно использовать блок, чтобы присвоить значения вектору, матрице или многомерным сигналам.
Можно использовать массив шин как входной сигнал с блоком Assignment.
Если вы помещаете блок Assignment в условный блок подсистемы, буфер сигнала может быть вставлен во многих случаях, и слияние сигналов от блоков Assignment с частичными записями может вызвать ошибку.
Однако, если вы устанавливаете флажок Ensure outport is virtual для условного блока Outport подсистемы, такие случаи поддерживаются, и частичные записи к массивам с помощью блоков Assignment возможны.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|