Присвойте значения указанным элементам сигнала
Simulink/Математические операции
HDL-кодер/математические операции
Блок Assignment присваивает значения заданным элементам сигнала. Индексы элементов, которым будут назначены значения, можно задать путем ввода индексов в диалоговом окне блока или путем подключения источника внешних индексов или источников к блоку. Сигнал на блок порте данных, U
, задает значения, которые будут назначены Y
. Блок заменяет указанные элементы Y
с элементами от сигнала данных.
На основе значения, введенного для параметра Number of output dimensions, отображается таблица опций индекса. Каждая строка таблицы соответствует одному из выходных размерностей в Number of output dimensions. Для каждой размерности можно задать элементы сигнала, с которыми нужно работать. Задайте векторный сигнал как 1-D сигнал и матричный сигнал как 2-D сигнал. Чтобы включить внешний порт индекса, в соответствующей строке таблицы установите 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.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|