“()” Присвоение
Присвойте значения указанным элементам сигнала
Описание
Блок 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 в условный блок подсистемы, буфер сигнала может быть вставлен во многих случаях, и слияние сигналов от блоков Присвоения с частичными записями может вызвать ошибку.
Однако, если вы устанавливаете флажок Ensure outport is virtual для условного блока Outport подсистемы, такие случаи поддерживаются, и частичные записи к массивам с помощью блоков Присвоения возможны.
Порты
Входной параметр
развернуть все
Y0 Введите сигнал инициализации
скаляр | вектор
Сигнал инициализации для выходного сигнала. Если элемент не присвоен другое значение, то значение выходного элемента совпадает с этим значением входного сигнала.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point | Boolean | enumerated | bus
U Порт входных данных
скаляр | вектор
Значение присвоено выходному элементу, когда задано.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point | Boolean | enumerated | bus
IndxN — N th индексирует сигнал
скаляр | вектор
Внешний порт, задающий индекс для присвоения соответствующего выходного элемента.
Зависимости
Чтобы включить внешний индексный порт, в соответствующей строке таблицы Index Option, устанавливают Index Option на Index vector (port) или Starting index (port).
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point | enumerated
Вывод
развернуть все
Y Выходной сигнал с присвоенными значениями
скаляр | вектор
Выходной сигнал с присвоенными значениями для указанных элементов.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point | enumerated | bus
Параметры
развернуть все
Number of output dimensions — Количество размерностей выходного сигнала
1 (значение по умолчанию) | целое число
Введите номер размерностей выходного сигнала.
Информация о командной строке
Параметр:
NumberOfDimensions
|
|
Ввод: символьный вектор |
Значения:
integer
|
Значение по умолчанию:
'1'
|
Index mode — Режим индексации
One-based (значение по умолчанию) | Zero-based
Выберите режим индексации. Если One-based выбран, индекс 1 указывает первый элемент входного вектора. Если Zero-based выбран, индекс 0 указывает первый элемент входного вектора.
Информация о командной строке
Параметр:
IndexMode
|
|
Ввод: символьный вектор |
Значения:
'Zero-based' | 'One-based'
|
Значение по умолчанию:
'One-based'
|
Index Option — Индексируйте метод для элементов
Index vector (dialog) (значение по умолчанию) | Assign all | Index vector (port) | Starting index (dialog) | Starting index (port)
Задайте размерностью, как элементы сигнала должны быть индексированы. Из списка выберите:
| Пункт меню | Действие |
|---|
Assign all | Это значение по умолчанию. Все элементы присвоены. |
Index vector (dialog) | Включает столбец Index. Введите индексы элементов. |
Index vector (port) | Отключает столбец Index. Индексный порт задает индексы элементов. |
Starting index (dialog) | Включает столбец Index. Введите начальное значение индекса области значений элементов, чтобы быть присвоенными значениями. |
Starting index (port) | Отключает столбец Index. Индексный порт задает начальное значение индекса области значений элементов, чтобы быть присвоенными значениями. |
Если вы выбираете Index vector (port) или Starting index (port) для какой-либо размерности в таблице, можно задать одно из этих значений для параметра Initialize output (Y):
В противном случае Y0 всегда инициализирует выходной порт Y.
Index и столбцы Output Size отображены как релевантные.
Информация о командной строке
Параметр:
IndexOptionArray
|
|
Ввод: символьный вектор |
Значения:
'Assign all' | 'Index vector (dialog)' | 'Index option (port)' | 'Starting index (dialog)' | 'Starting index (port)' |
Значение по умолчанию:
'Index vector (dialog)'
|
Index — Индекс элементов
1 (значение по умолчанию) | целое число
Если Index Option является Index vector (dialog), введите индекс каждого элемента, которым вы интересуетесь.
Если Index Option является Starting index (dialog), введите начальное значение индекса области значений элементов, которые будут выбраны. Число элементов от отправной точки определяется размером этой размерности в U.
Информация о командной строке
Параметр:
IndexParamArray
|
|
Ввод: символьный вектор |
|
Значения: cellArray |
Значение по умолчанию:
'{ }'
|
'OutputSize' Ширина выходного сигнала блока
1 (значение по умолчанию) | целое число
Введите ширину выходного сигнала блока.
Зависимости
Чтобы включить этот столбец, выберите Specify size for each dimension in table для параметра Initialize output (Y).
Информация о командной строке
Параметр:
OutputSizeArray
|
|
Ввод: символьный вектор |
|
Значения: cellArray |
Значение по умолчанию:
'{ }'
|
Initialize output (Y) — Как инициализировать выходной сигнал
Initialize using input port <Y0> (значение по умолчанию) | Specify size for each dimension in the table
Задайте, как инициализировать выходной сигнал.
Initialize using input port <Y0> – Сигнал во входном порту Y0 инициализирует вывод.
Specify size for each dimension in table – Требует, чтобы вы задали ширину выходного сигнала блока в параметре Output Size. Если вывод отменил присвоение элементов, значение тех элементов не определено.
Зависимость
Enabled, когда вы устанавливаете Index Option на Index vector (port) или Starting index (port).
Информация о командной строке
Параметр:
OutputInitialize
|
|
Ввод: символьный вектор |
Значения:
'Initialize using input port <Y0>' | 'Specify size for each dimension in table' |
Значение по умолчанию:
'Initialize using input port <Y0>'
|
Action if any output element is not assigned — Задайте, произвести ли предупреждение или ошибку, если вы не присвоили все выходные элементы
Error (значение по умолчанию) | Warning | None
Задайте, произвести ли предупреждение или ошибку, если вы не присвоили все выходные элементы. Опции включают:
Программное обеспечение Error — Simulink отключает симуляцию и отображает ошибку.
Программное обеспечение Warning — Simulink выводит предупреждение и продолжает симуляцию.
Программное обеспечение None — Simulink не принимает мер.
Информация о командной строке
Параметр:
DiagnosticForDimensions
|
|
Ввод: символьный вектор |
Значения:
'Error' | 'Warning' | 'None' |
Значение по умолчанию:
'None'
|
'SampleTime' Задайте шаг расчета как значение кроме -1
-1 (значение по умолчанию) | скаляр
Задайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.
Зависимости
Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Шаг расчета.
Программируемое использование
Параметры блоков:
SampleTime |
| Ввод: символьный вектор |
| Значения: скаляр |
Значение по умолчанию:
'-1' |
Характеристики блока
Типы данных | Boolean | double | enumerated | fixed point | integer | single
|
Прямое сквозное соединение | yes
|
Многомерные сигналы | yes
|
Сигналы переменного размера | yes
|
Обнаружение пересечения нулем | no
|
Расширенные возможности
Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.
Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.
Для получения дополнительной информации о генерации HDL-кода смотрите Присвоение.
Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.
Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.
Представлено до R2006a