Скопируйте или инвертируйте один скалярный входной параметр или сверните один нескалярный входной параметр
Simulink / Математические операции
Продукт блока Elements вводит один скаляр, вектор или матрицу. Можно использовать блок для:
Скопируйте скалярный неизменный входной параметр
Инвертируйте скалярный входной параметр (разделитесь 1 на него),
Сверните вектор или матрицу к скаляру путем умножения вместе всех элементов или взятия последовательных инверсий элементов
Сверните матрицу к вектору с помощью одной из этих опций:
Умножьте вместе элементы каждой строки или столбца
Возьмите последовательные инверсии элементов каждой строки или столбца
Продуктом блока Elements является функционально блок продукта, который имеет два предварительно установленных значения параметров:
Умножение: Element-wise(.*)
Количество входных параметров: *
Устанавливание значений не по умолчанию или для тех параметров может изменить продукт блока Elements, чтобы быть функционально эквивалентным блоку продукта или для блоку Divide.
Port_1
— Сначала введите, чтобы умножиться или разделитьсяСначала введите, чтобы умножиться или разделиться, обеспеченный как скаляр, вектор, матрица или массив N-D.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
Port_N
— Энный входной параметр, чтобы умножиться или разделитьсяЭнный входной параметр, чтобы умножиться или разделиться, обеспеченный как скаляр, вектор, матрица или массив N-D.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
X
Входной сигнал, чтобы умножитьсяВходной сигнал, который будет умножен с другими входными параметрами.
Чтобы включить одному или нескольким X портов, задайте один или несколько символов *
для Количества входного параметра.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
÷
— Входной сигнал, чтобы разделиться или инвертироватьВходной сигнал для операций деления или инверсии.
Чтобы включить один или несколько ÷ портов, задайте один или несколько символов /
для Количества входного параметра.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
Port_1
— Выведите вычисленный путем умножения, делясь или инвертируя входные параметрыВыведите вычисленный путем умножения, делясь или инвертируя входные параметры.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
Number of inputs
— Контрольное число входных параметров и тип операции*
(значение по умолчанию) | положительный целочисленный скаляр | *
или /
для каждого входного портаУправляйте двумя свойствами блока:
Количество входных портов на блоке
Умножен ли каждый входной параметр или разделен на вывод
Когда вы задаете:
1
или *
или /
Блок имеет один входной порт. В поэлементном режиме блок обрабатывает входной параметр, как описано для продукта блока Elements. В матричном режиме, если значением параметров является 1
или *
, блок выводит входное значение. Если значением является /
, входной параметр должен быть квадратной матрицей (включая скаляр как вырожденный случай), и блок выводит матричную инверсию. Смотрите Поэлементный Режим и Матричный Режим для получения дополнительной информации.
Целочисленное значение> 1
Блок имеет количество входных параметров, данных целочисленным значением. Входные параметры умножаются вместе в поэлементном режиме или матричном режиме, как задано параметром Умножения. Смотрите Поэлементный Режим и Матричный Режим для получения дополнительной информации.
Неупомянутая строка двух или больше *
и символов /
Блок имеет количество входных параметров, данных длиной вектора символа. Каждый входной параметр, который соответствует символу *
, умножается в вывод. Каждый входной параметр, который соответствует символу /
, разделен на вывод. Операции происходят в поэлементном режиме или матричном режиме, как задано параметром Умножения. Смотрите Поэлементный Режим и Матричный Режим для получения дополнительной информации.
Блочный параметр:
Inputs |
Ввод: символьный вектор |
Значения:
'2' | '*' | '**' | '* /' | '*/*' |... |
Значение по умолчанию:
'*' |
Multiplication
— Поэлементный (.*) или Матрица (*) умножениеElement-wise(.*)
(значение по умолчанию) | Matrix(*)
Задайте, выполняет ли блок умножение Matrix(*)
или Element-wise(.*)
.
Блочный параметр:
Multiplication |
Ввод: символьный вектор |
Значения:
'Поэлементный (.*)' | 'Матрица (*)' |
Значение по умолчанию:
'Element-wise(.*)' |
Multiply over
— Все размерности или заданное измерениеAll dimensions
(значение по умолчанию) | Specified dimension
Задайте размерность, чтобы умножиться по как All dimensions
или Specified dimension
.
Когда вы выбираете All dimensions
и выбираете алгоритмы Использования параметра конфигурации, оптимизированные для размещения главного массива строки, Simulink® включает главные строкой алгоритмы для моделирования. Чтобы сгенерировать главный строкой код, установите размещение параметра конфигурации Массивов (Simulink Coder) на Row-major
в дополнение к выбору алгоритмов Use, оптимизированных для размещения главного массива строки. Главные столбцом и главные строкой алгоритмы отличаются только по порядку умножения. В некоторых случаях, из-за различной операции заказывают на том же наборе данных, вы можете испытать незначительные числовые различия в выходных параметрах главных столбцом и главных строкой алгоритмов.
Когда вы выбираете Specified dimension
, можно задать Размерность как 1
или 2
.
Чтобы включить этот параметр, определите Номер входных параметров к *
и Умножения к Element-wise (.*)
.
Блочный параметр:
CollapseMode |
Ввод: символьный вектор |
Значения:
'Все размерности' | 'Заданное измерение' |
Значение по умолчанию:
'All dimensions' |
Dimension
— Размерность, чтобы умножиться1
(значение по умолчанию) | 2
| ...
| N
Задайте размерность, чтобы умножиться по как целое число, меньше чем или равное количеству размерностей входного сигнала.
Чтобы включить этот параметр, установите:
Количество входных параметров к *
Умножение к Element-wise (.*)
Умножьтесь к Specified dimension
Блочный параметр: CollapseDim |
Ввод: символьный вектор |
Значения:
'1' | '2' |... |
Значение по умолчанию: '1' |
'SampleTime'
Задайте частоту дискретизации как значение кроме -1
-1
(значение по умолчанию) | скалярЗадайте частоту дискретизации как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.
Этот параметр не видим, если он явным образом не установлен в значение кроме -1
. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Частота дискретизации.
Блочный параметр:
'SampleTime' |
Ввод: символьный вектор |
Значения: скаляр |
Значение по умолчанию:
'-1' |
Require all inputs to have the same data type
— Потребуйте, чтобы все входные параметры имели совпадающий тип данныхoff
(значение по умолчанию) | on
Задайте, должны ли входные сигналы все иметь совпадающий тип данных. Если вы включаете этот параметр, то ошибка происходит во время моделирования, если типы входного сигнала отличаются.
Блочный параметр:
InputSameDT |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Output minimum
— Минимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярНижнее значение выходной области значений это Simulink Check.
Симулинк использует минимум, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Блочных Параметров) для некоторых блоков.
Проверка диапазона моделирования (см. Диапазоны сигнала и Включают Проверку диапазона Моделирования).
Автоматическое масштабирование типов данных фиксированной точки.
Оптимизация кода, который вы генерируете от модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов моделирования, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Simulink Coder).
Выведите минимум, не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.
Блочный параметр: OutMin |
Ввод: символьный вектор |
Значения:' []' | скаляр |
Значение по умолчанию: '[ ]' |
Output maximum
— Максимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярВерхнее значение выходной области значений это Simulink Check.
Симулинк использует максимальное значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Блочных Параметров) для некоторых блоков.
Проверка диапазона моделирования (см. Диапазоны сигнала и Включают Проверку диапазона Моделирования).
Автоматическое масштабирование типов данных фиксированной точки.
Оптимизация кода, который вы генерируете от модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов моделирования, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Simulink Coder).
Выведите максимум, не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.
Блочный параметр: OutMax |
Ввод: символьный вектор |
Значения:' []' | скаляр |
Значение по умолчанию: '[ ]' |
Output data type
— Задайте тип выходных данныхInherit: Inherit via internal rule
(значение по умолчанию) | Inherit: Inherit via back propagation
| Inherit: Same as first input
| double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <data type expression>
Выберите тип данных для вывода. Тип может быть наследован, задан непосредственно или выражен как объект типа данных, такой как Simulink.NumericType
. Для получения дополнительной информации смотрите Типы данных Управляющего сигнала.
Когда вы выбираете наследованную опцию, блок ведет себя можно следующим образом:
Inherit: Inherit via internal rule
— Симулинк выбирает тип данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода, при принятии во внимание свойств аппаратных средств целевого процессора. Если вы изменяете настройки целевого процессора, тип данных, выбранный внутренним правилом, может измениться. Например, если блок умножает входной параметр типа, int8
усилением int16
и ASIC/FPGA
задан как целенаправленный тип оборудования, типом выходных данных является sfix24
. Если Unspecified (assume 32-bit Generic)
, другими словами, типичный 32-битный микропроцессор, задан как целевой компьютер, типом выходных данных является int32
. Если ни один из размеров слова, обеспеченных целевым микропроцессором, не может разместить выходную область значений, программное обеспечение Симулинка отображает ошибку в Диагностическом Средстве просмотра.
Для программного обеспечения не всегда возможно оптимизировать эффективность кода и числовую точность в то же время. Если внутреннее правило не удовлетворяет ваши определенные потребности для числовой точности или производительности, используйте одну из следующих опций:
Задайте тип выходных данных явным образом.
Используйте простой выбор Inherit: Same as input
.
Явным образом задайте тип данных по умолчанию, такой как fixdt(1,32,16)
и затем используйте Fixed-Point Tool, чтобы предложить типы данных для вашей модели. Для получения дополнительной информации смотрите fxptdlg
.
Чтобы задать ваше собственное правило наследования, используйте Inherit: Inherit via back propagation
и затем используйте блок Data Type Propagation. Примеры того, как использовать этот блок, доступны в библиотеке Signal Attributes блок Data Type Propagation Examples.
Inherit: Inherit via back propagation
— Используйте тип данных ведущего блока.
Inherit: Same as first input
— Используйте тип данных первого входного сигнала.
Блочный параметр: OutDataTypeStr |
Ввод: символьный вектор |
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило |, 'Наследуйтесь: То же самое, как сначала введено' | 'Наследовалось: Наследуйтесь через обратное распространение' | 'дважды' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' |' <выражение типа данных>' |
Значение по умолчанию: 'Inherit: Inherit via internal rule' |
Lock output data type setting against changes by the fixed-point tools
— Препятствуйте тому, чтобы Fixed-Point Tool заменили тип Выходных данныхoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили тип Выходных данных, который вы задаете на блоке. Для получения дополнительной информации смотрите, что Тип Выходных данных Блокировки Использования Устанавливает (Fixed-Point Designer).
Блочный параметр:
LockScale |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Integer rounding mode
— Rounding для операций фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Выберите округляющийся режим для операций фиксированной точки. Можно выбрать:
Ceiling
Округляет положительные и отрицательные числа к положительной бесконечности. Эквивалентный
функции MATLAB® ceil
.
Convergent
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к самому близкому даже целое число. Эквивалентный Фиксированной точке Designer™ функция convergent
.
Пол
Округляет положительные и отрицательные числа к отрицательной бесконечности. Эквивалентный функции floor
MATLAB.
Самый близкий
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к положительной бесконечности. Эквивалентный Fixed-Point Designer функция nearest
.
Вокруг
Номер раундов к самому близкому представимому значению. Если связь происходит, округляет положительные числа к положительной бесконечности и округляет отрицательные числа к отрицательной бесконечности. Эквивалентный Fixed-Point Designer функция round
.
Simplest
Принимает решение между округлением к полу и округлением к нулю сгенерировать округление кода, который максимально эффективен.
Zero
Номер раундов к нулю. Эквивалентный функции fix
MATLAB.
Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).
Блокируйте параметры всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением блочного параметра, введите выражение с помощью MATLAB, округляющего функцию в поле маски.
Блочный параметр:
RndMeth |
Ввод: символьный вектор |
Значения:
'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль' |
Значение по умолчанию:
пол |
Saturate on integer overflow
— Метод действия переполненияoff
(значение по умолчанию) | on
Задайте, насыщает ли переполнение или переносится.
Действие | Объяснение | Повлияйте на переполнении | Пример |
---|---|---|---|
Установите этот флажок ( |
Ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщенности в сгенерированном коде. |
Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных. |
Максимальное значение, которое может представлять |
Не устанавливайте этот флажок ( |
Вы хотите оптимизировать эффективность своего сгенерированного кода. Вы не хотите чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Проверку на Ошибки Диапазона сигнала. |
Переполнение переносится к соответствующему значению, которое является представимым, по условию вводят. |
Максимальное значение, которое может представлять |
Когда вы устанавливаете этот флажок, насыщенность применяется к каждой внутренней операции на блоке, не только выводу или результату. Обычно, процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщенности.
Блочный параметр: SaturateOnIntegerOverflow |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию: 'off' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Продукт блока Elements использует эти алгоритмы, чтобы выполнить поэлементные операции на входных параметрах встроенного целого числа с плавающей точкой и фиксированные точки.
Входной параметр | Поэлементная операция | Алгоритм |
---|---|---|
Действительный скаляр, | Умножение | y = u |
Деление | y = 1/u | |
Действительный вектор или матрица с элементами | Умножение | y = u1*u2*u3*...*uN |
Деление | y = ((((1/u1)/u2)/u3).../uN) | |
Объедините скаляр, | Умножение | y = u |
Деление | y = 1/u | |
Комплексный вектор или матрица с элементами | Умножение | y = u1*u2*u3*...*uN |
Деление | y = ((((1/u1)/u2)/u3).../uN) |
Если заданное измерение для поэлементного умножения или деления является строкой или столбцом матрицы, алгоритм применяется к той строке или столбцу. Рассмотрите эту модель.
Лучший продукт блока Elements сворачивает матричный входной параметр к скаляру путем взятия последовательных инверсий этих четырех элементов:
y = ((((1/2+i)/3)/4-i)/5)
Кубовый продукт блока Elements сворачивает матричный входной параметр к вектору путем взятия последовательных инверсий вдоль второго измерения:
y(1) = ((1/2+i)/3)
y(2) = ((1/4-i)/5)
Для получения дополнительной информации о генерации HDL-кода, смотрите продукт Элементов.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.