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