“()” Присвоение

Присвойте значения заданным элементам сигнала

  • Библиотека:
  • Simulink / Математические операции

Описание

Блок Assignment присваивает значения заданным элементам сигнала. Вы задаете индексы элементов, чтобы быть присвоенными значениями или путем ввода индексов в блочное диалоговое окно или путем соединения внешнего индексного источника или источников с блоком. Сигнал в блочном порту данных, U, задает значения, которые будут присвоены Y. Блок заменяет заданные элементы Y с элементами от сигнала данных.

На основе значения вы вводите для Количества выходного параметра размерностей, таблица индексных опций отображена. Каждая строка таблицы соответствует одной из выходных размерностей в Количестве выходных размерностей. Для каждой размерности можно задать элементы сигнала работать с. Задайте векторный сигнал как 1D сигнал и матричный сигнал как 2D сигнал. Чтобы включить внешний индексный порт, в соответствующей строке таблицы, устанавливают Индексную Опцию на Index vector (port).

Например, примите сигнал 5-D с режимом индексации на основе одним. Таблица в диалоговом окне блока Assignment изменяется, чтобы включать одну строку для каждой размерности. Если вы задаете каждую размерность со следующими записями:

СтрокаИндексируйте опциюИндекс
1Assign all 
2Index vector (dialog)[1 3 5]
3Starting index (dialog)4
4Starting index (port) 
5Index 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 подсистемы, такие случаи поддержаны, и частичные записи к массивам с помощью блоков Присвоения возможны.

Порты

Входной параметр

развернуть все

Сигнал инициализации для выходного сигнала. Если элемент не присвоен другое значение, то значение выходного элемента совпадает с этим значением входного сигнала.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка | булевская переменная | перечисленный | шина

Значение присвоено выходному элементу, когда задано.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка | булевская переменная | перечисленный | шина

Внешний порт, задающий индекс для присвоения соответствующего выходного элемента.

Зависимости

Чтобы включить внешний индексный порт, в соответствующей строке таблицы Index Option, устанавливают Индексную Опцию на Index vector (port) или Starting index (port).

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка | перечисленный

Вывод

развернуть все

Выходной сигнал с присвоенными значениями для заданных элементов.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка | перечисленный | шина

Параметры

развернуть все

Введите номер размерностей выходного сигнала.

Информация о командной строке

Параметр: NumberOfDimensions
Ввод: символьный вектор
Значения: целое число
Значение по умолчанию: '1'

Выберите режим индексации. Если One-based выбран, индекс 1 задает первый элемент входного вектора. Если Zero-based выбран, индекс 0 задает первый элемент входного вектора.

Информация о командной строке

Параметр: IndexMode
Ввод: символьный вектор
Значения: 'Основанный на нуле' | 'На основе один'
Значение по умолчанию: 'One-based'

Задайте размерностью, как элементы сигнала должны быть индексированы. Из списка выберите:

Пункт менюДействие
Assign all

Это значение по умолчанию. Все элементы присвоены.

Index vector (dialog)

Включает Столбец индекса. Введите индексы элементов.

Index vector (port)

Отключает Столбец индекса. Индексный порт задает индексы элементов.

Starting index (dialog)

Включает Столбец индекса. Введите начальное значение индекса области значений элементов, чтобы быть присвоенными значениями.

Starting index (port)

Отключает Столбец индекса. Индексный порт задает начальное значение индекса области значений элементов, чтобы быть присвоенными значениями.

Если вы выбираете Index vector (port) или Starting index (port) для какой-либо размерности в таблице, можно задать одно из этих значений для Initialize вывод (Y) параметр:

  • Initialize using input port <Y0>

  • Specify size for each dimension in table

В противном случае Y0 всегда инициализирует выходной порт Y.

Индексные и Выходные столбцы Размера отображены как релевантные.

Информация о командной строке

Параметр: IndexOptionArray
Ввод: символьный вектор
Значения: 'Присвойте все' | 'Индексный вектор (диалоговое окно)' | 'Индексная опция (порт)' | 'Начальное значение индекса (диалоговое окно)' | 'Начальное значение индекса (порт)'
Значение по умолчанию: 'Index vector (dialog)'

Если Индексной Опцией является Index vector (dialog), введите индекс каждого элемента, которым вы интересуетесь.

Если Индексной Опцией является Starting index (dialog), введите начальное значение индекса области значений элементов, которые будут выбраны. Число элементов от отправной точки определяется размером этой размерности в U.

Информация о командной строке

Параметр: IndexParamArray
Ввод: символьный вектор
Значения: cellArray
Значение по умолчанию: '{ }'

Введите ширину блочного выходного сигнала.

Зависимости

Чтобы включить этот столбец, выберите Specify size for each dimension in table для Initialize вывод (Y) параметр.

Информация о командной строке

Параметр: OutputSizeArray
Ввод: символьный вектор
Значения: cellArray
Значение по умолчанию: '{ }'

Задайте, как инициализировать выходной сигнал.

  • 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>'

Задайте, произвести ли предупреждение или ошибку, если вы не присвоили все выходные элементы. Опции включают:

  • Программное обеспечение Error — Simulink отключает моделирование и отображает ошибку.

  • Программное обеспечение Warning — Simulink отображает предупреждение и продолжает моделирование.

  • Программное обеспечение None — Simulink не принимает мер.

Информация о командной строке

Параметр: DiagnosticForDimensions
Ввод: символьный вектор
Значения: 'Ошибка' | 'Предупреждение' | 'Ни один'
Значение по умолчанию: 'none'

Задайте частоту дискретизации как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Частота дискретизации.

Программируемое использование

Блочный параметр: 'SampleTime'
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '-1'

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer | fixed point | enumerated

Прямое сквозное соединение

No

Многомерные сигналы

Yes

Сигналы переменного размера

Yes

Обнаружение пересечения нулем

No

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Фиксированной точки Designer™.

Представлено до R2006a

Была ли эта тема полезной?