# DotProduct
生成两个向量的点积
- 库: Sysblock / MathOperation
# 描述
DotProduct 模块生成输入向量的点积。标量输出 y 等于 Sysblock 运算。
y = sum(conj(u1) .* u2 )
其中 u1 和 u2 表示输入向量。输入可以是向量、列向量(单列矩阵)或标量。如果两个输入都是向量或者都是列向量,它们的长度必须相同。如果 u1 和 u2 都是列向量,模块将输出 Sysblock 表达式 u1'*u2 的等效项。
# 示例
生成两个向量的点积。
参考示例模型
。
# 端口
# 输入
u1 — 第一个操作数输入信号标量 | 向量
表示点积计算的第一个操作数的信号。
数据类型: float | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
u2 — 第二个操作数输入信号标量 | 向量
代表点积计算的第二个操作数的信号。
数据类型: float | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
# 输出
y — 点积输出信号标量 | 向量
由两个输入信号的点积计算得到的输出信号。
数据类型: flaot | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
# 参数
输出数据类型 — 指定输出数据类型Inherit: internalRule(默认) | Inherit: backPropagation | Inherit: sameAsFirstInput | double | float | int8 | uint8 | int16 | uint16 | int32 | uint32 | fixdt(1,16,0) | fixdt(1,16,2^0,0) | fixdt(1,16,1.0,0,0.0)
为输出选择数据类型。该类型可以继承、直接指定或表示为数据类型对象。
当您选择继承的选项时,模块的行为如下所示:
Inherit: internalRule - 在考虑嵌入式目标硬件的属性的同时,会选择相应的数据类型来平衡数值准确性、性能和生成的代码大小。如果更改了嵌入式目标的设置,则依内部规则选择的数据类型可能会发生变化。例如,如果该模块将 int8 类型的输入乘以 int16 的增益,并且将 ASIC/FPGA 指定为目标硬件类型,则输出数据类型为 sfix24。如果指定未指定(假定通用 32 位)(即通用 32 位微处理器)为目标硬件,则输出数据类型为 int32。
Inherit: backPropagation - 使用驱动模块的数据类型。
Inherit: sameAsFirstInput - 使用第一个输入信号的数据类型。
# 版本历史记录
- 在 2024b 之前推出
# 限制信息
不支持部分
- 参数-要求所有输入具有相同的数据类型 — 要求所有输入具有相同的数据类型
- 参数-输出最小值 — 范围检查的最小输出值
- 参数-输出最大值 — 范围检查的最大输出值
- 参数-锁定输出数据类型设置以防止被定点工具更改 — 防止定点工具覆盖数据类型
- 参数-整数舍入模式 — 定点运算的舍入模式
- 参数-对整数溢出进行饱和处理 — 溢出操作的方法