Dot Product

Сгенерируйте скалярное произведение двух векторов

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

    HDL Coder / Математические операции

  • Dot Product block

Описание

Блок Dot Product генерирует скалярное произведение входных векторов. Скалярный выход, y, равно MATLAB® операция

y = sum(conj(u1) .* u2 ) 

где u1 и u2 представляйте входные векторы. Входные параметры могут быть векторами, вектор-столбцы (матрицы отдельного столбца), или скаляры. Если оба входных параметров являются векторами или вектор-столбцами, они должны быть той же длиной. Если u1 и u2 оба вектор-столбцы, блок выводит эквивалент выражения MATLAB u1'*u2.

Элементы входных векторов могут быть действительными - или сигналы с комплексным знаком. Тип сигнала (комплексный или действительный) выхода зависит от типов сигнала входных параметров.

Введите 1Введите 2Вывод

действительный

действительный

действительный

действительный

комплекс

комплекс

комплекс

действительный

комплекс

комплекс

комплекс

комплекс

Порты

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

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

Сигнал, представляющий первый операнд вычислению скалярного произведения.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Сигнал, представляющий второй операнд вычислению скалярного произведения.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Вывод

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

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

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Параметры

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

Снимите этот флажок для всех входных параметров, чтобы иметь различные типы данных.

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

Параметры блоков: InputSameDT
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Нижнее значение выходной области значений, что Simulink® проверки.

Simulink использует минимум, чтобы выполнить:

Примечание

Output minimum не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.

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

Параметры блоков: OutMin
Ввод: символьный вектор
Значения: '[ ]'| скаляр
Значение по умолчанию: '[ ]'

Задайте верхнее значение выходной области значений что Simulink Check как конечное, действительное, дважды, скалярное значение.

Примечание

Если вы задаете объект шины как тип данных для этого блока, не устанавливайте максимальное значение для данных о шине по блоку. Simulink игнорирует эту установку. Вместо этого установите максимальные значения для элементов шины объекта шины, заданного как тип данных. Для получения информации о Максимальном параметре для элемента шины смотрите Simulink.BusElement.

Simulink использует максимальное значение, чтобы выполнить:

Примечание

Output maximum не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.

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

Параметры блоков: OutMax
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[ ]'

Выберите тип данных для выхода. Тип может быть наследован, задан непосредственно или описан как объект типа данных, такой как Simulink.NumericType. Для получения дополнительной информации смотрите Типы данных Управления Сигналов.

Когда вы выбираете наследованную опцию, блок ведет себя можно следующим образом:

  • Inherit: Inherit via internal rule — Simulink выбирает тип данных, чтобы сбалансировать числовую точность, эффективность и размер сгенерированного кода, при принятии во внимание свойств оборудования целевого процессора. Если вы изменяете настройки целевого процессора, тип данных, выбранный внутренним правилом, может измениться. Например, если блок умножает вход типа int8 усилением int16 и ASIC/FPGA задан как целенаправленный тип оборудования, типом выходных данных является sfix24. Если Unspecified (assume 32-bit Generic), другими словами, типовой 32-битный микропроцессор, задан как целевой компьютер, типом выходных данных является int32. Если ни один из размеров слова, обеспеченных целевым микропроцессором, не может вместить выходную область значений, программное обеспечение Simulink отображает ошибку в Диагностическом Средстве просмотра.

    Для программного обеспечения не всегда возможно оптимизировать КПД кода и числовую точность одновременно. Если внутреннее правило не удовлетворяет ваши определенные потребности для числовой точности или эффективности, используйте одну из следующих опций:

    • Задайте тип выходных данных явным образом.

    • Используйте простой выбор Inherit: Same as input.

    • Явным образом задайте тип данных по умолчанию, такой как fixdt(1,32,16) и затем используйте Fixed-Point Tool, чтобы предложить типы данных для вашей модели. Для получения дополнительной информации смотрите fxptdlg (Fixed-Point Designer).

    • Чтобы задать ваше собственное правило наследования, используйте Inherit: Inherit via back propagation и затем используйте блок Data Type Propagation. Примеры того, как использовать этот блок, доступны в библиотеке Signal Attributes блок Data Type Propagation Examples.

    Примечание

    Когда введенный тип данных с плавающей точкой, меньший, чем одинарная точность, Inherit: Inherit via internal rule зависит от установки Того, чтобы наследовать выходной тип с плавающей точкой, меньший, чем параметр конфигурации одинарной точности. Типы данных меньше, чем одинарная точность, когда количество битов должно было закодировать тип данных, меньше, 32 бита должны были закодировать тип данных с одинарной точностью. Например, half и int16 меньше, чем одинарная точность.

  • Inherit: Inherit via back propagation — Используйте тип данных ведущего блока.

  • Inherit: Same as first input — Используйте тип данных первого входного сигнала.

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

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via internal rule | 'Inherit: Same as first input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

Выберите, чтобы заблокировать установку типа выходных данных этого блока против изменений Fixed-Point Tool и Советником Фиксированной точки. Для получения дополнительной информации смотрите, что Тип Выходных данных Блокировки Использования Устанавливает (Fixed-Point Designer).

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

Параметры блоков: LockScale
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).

Параметры блоков всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением параметров блоков, введите выражение с помощью функции округления MATLAB в поле маски.

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

Параметры блоков: RndMeth
Ввод: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Значение по умолчанию: 'Floor'

Задайте, насыщает ли переполнение или переносится.

  • off — Переполнение переносится к соответствующему значению, которое может представлять тип данных.

    Например, номер 130 не помещается в 8-битное целое число со знаком и переносится к-126.

  • on — Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных.

    Например, переполнение, сопоставленное с 8-битным целым числом со знаком, может насыщать к-128 или 127.

Совет

  • Рассмотрите установку этого флажка, когда ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщения в сгенерированном коде.

  • Полагайте, что снятие этого флажка, когда это необходимо, оптимизирует КПД вашего сгенерированного кода.

    Снятие этого флажка также помогает вам постараться не чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Ошибки Диапазона сигнала Поиска и устранения неисправностей.

  • Когда вы устанавливаете этот флажок, насыщение применяется к каждой внутренней операции на блоке, не только выходу или результату.

  • В общем случае процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщения.

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

Параметры блоков: SaturateOnIntegerOverflow
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Характеристики блока

Типы данных

Boolean | double | fixed point | half | integer | single

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

yes

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

yes

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

no

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

no

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

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

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

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

Смотрите также

|

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