Сгенерируйте скалярное произведение двух векторов
Simulink / Математические операции
Блок Dot Product генерирует скалярное произведение входных векторов. Скалярный вывод, y
, равен операции MATLAB®
y = sum(conj(u1) .* u2 )
где u1
и u2
представляют входные векторы. Входные параметры могут быть векторами, векторы - столбцы (матрицы отдельного столбца), или скаляры. Если оба входных параметра являются векторами или векторами - столбцами, они должны быть той же длиной. Если u1
и u2
являются оба векторами - столбцами, блок выводит эквивалент выражения MATLAB u1'*u2
.
Элементы входных векторов могут быть действительными - или сигналы с комплексным знаком. Тип сигнала (комплексный или действительный) вывода зависит от типов сигнала входных параметров.
Введите 1 | Введите 2 | Вывод |
---|---|---|
действительный |
действительный |
действительный |
действительный |
комплекс |
комплекс |
комплекс |
действительный |
комплекс |
комплекс |
комплекс |
комплекс |
Port_1
— Первый входной сигнал операндаСигнал, представляющий первый операнд вычислению скалярного произведения.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
Port_2
— Второй входной сигнал операндаСигнал, представляющий второй операнд вычислению скалярного произведения.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
Port_1
— Выходной сигнал скалярного произведенияВыходной сигнал, следующий из вычисления скалярного произведения этих двух входных сигналов.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
Require all inputs to have the same data type
— Потребуйте, чтобы все входные параметры имели совпадающий тип данныхon
(значение по умолчанию) | off
Снимите этот флажок для всех входных параметров, чтобы иметь различные типы данных.
Блочный параметр: InputSameDT |
Ввод: символьный вектор |
Значения: 'on' | 'off' |
Значение по умолчанию: 'on' |
Output minimum
— Минимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярНижнее значение выходной области значений, которую проверяет Simulink®.
Симулинк использует минимум, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Блочных Параметров) для некоторых блоков.
Проверка диапазона моделирования (см. Диапазоны сигнала и Включают Проверку диапазона Моделирования).
Автоматическое масштабирование типов данных фиксированной точки.
Оптимизация кода, который вы генерируете от модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов моделирования, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Simulink Coder).
Выведите минимум, не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.
Блочный параметр: OutMin |
Ввод: символьный вектор |
Значения:' []' | скаляр |
Значение по умолчанию: '[ ]' |
Output maximum
— Максимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярЗадайте верхнее значение выходной области значений что Simulink Check как конечное, действительное, дважды, скалярное значение.
Если вы задаете объект шины как тип данных для этого блока, не устанавливайте максимальное значение для данных шины по блоку. Simulink игнорирует эту установку. Вместо этого установите максимальные значения для элементов шины объекта шины, заданного как тип данных. Для получения информации о Максимальном параметре для элемента шины смотрите Simulink.BusElement
.
Симулинк использует максимальное значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Блочных Параметров) для некоторых блоков.
Проверка диапазона моделирования (см. Диапазоны сигнала и Включают Проверку диапазона Моделирования).
Автоматическое масштабирование типов данных фиксированной точки.
Оптимизация кода, который вы генерируете от модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов моделирования, такие как 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
Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).
Блокируйте параметры всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением блочного параметра, введите выражение с помощью MATLAB, округляющего функцию в поле маски.
Блочный параметр:
RndMeth |
Ввод: символьный вектор |
Значения:
'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль' |
Значение по умолчанию:
пол |
Saturate on integer overflow
— Метод действия переполненияoff
(значение по умолчанию) | on
Задайте, насыщает ли переполнение или переносится.
'off'
Переполнение переносится к соответствующему значению, которое может представлять тип данных.
Например, номер 130 не помещается в 8-битное целое число со знаком и переносится к-126.
on
— Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных.
Например, переполнение, сопоставленное с 8-битным целым числом со знаком, может насыщать к-128 или 127.
Рассмотрите установку этого флажка, когда ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщенности в сгенерированном коде.
Полагайте, что снятие этого флажка когда это необходимо оптимизирует эффективность вашего сгенерированного кода.
Снятие этого флажка также помогает вам постараться не чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Проверку на Ошибки Диапазона сигнала.
Когда вы устанавливаете этот флажок, насыщенность применяется к каждой внутренней операции на блоке, не только выводу или результату.
В целом процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщенности.
Блочный параметр: SaturateOnIntegerOverflow |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Для получения информации о генерации HDL-кода смотрите Скалярное произведение.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.