“()” Присвоение
Присвойте значения указанным элементам сигнала
Описание
Блок 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