主要内容

产品

对标量和非标量进行乘法和除法,或者对矩阵进行乘法和反运算

  • 库:
  • 金宝appSimulink /常用块

    金宝appSimulink / Math操作

    HDL编码器/常用模块

    HDL编码器/ HDL浮点操作

    HDL编码器/数学运算

  • 产品块

描述

产品块输出两个输入相乘的结果:两个标量、一个标量和一个非标量,或两个具有相同维度的非标量。指定此行为的默认参数值为:

  • 乘法:Element-wise (. *)

  • 输入的数量:2

此表显示了输出产品示例输入使用默认的块参数值。

输入和行为 例子

标量X标量

输出两个输入的乘积。

标量X Nonscalar

输出一个与输入非标量具有相同维度的非标量。输出非标量的每个元素都是输入标量与输入非标量对应元素的乘积。

nonscalar x nonscalar.

输出与输入具有相同维度的非标量。输出的每个元素都是相应的输入元素的乘积。

划分产品的元素块是变量的变体产品块。

产品块(或划分块或者产品的元素如果适当配置的话,则可以:

  • 数值乘以和划分任何数量的标量,向量或矩阵输入

  • 对任意数量的矩阵输入执行矩阵乘法和除法

产品块执行标量乘法或矩阵乘法,具体取决于乘法参数。块接受一个或多个输入,具体取决于输入数量参数。的输入数量参数还指定要对每个输入执行的操作。

产品块可以输入要执行的运算具有数学定义结果的标量、向量和矩阵的任何组合。块对输入执行指定的操作,然后输出结果。

产品Block有两种模式:元素明智模式,哪个按元素处理Nonscalar输入元素,矩阵模式,将非卡拉尔输入作为矩阵。

Element-Wise模式

当您设置乘法Element-wise (. *),产品块在元素明智模式,它在任何非划痕输入的各个数字元素上运行。matlab.®相当于.*操作符。在元素模式中,产品块可以执行各种乘法、除法和算术逆运算。

价值输入数量参数控制存在多少输入,以及每个输入是乘还是除以构成输出。当产品块处于元素 - 明智模式,只有一个输入,它功能相当于a产品的元素块。当块具有多个输入时,任何非划分的输入必须具有相同的尺寸,并且块随着那些尺寸输出Nonscalar。为了计算输出,块首先将输入的任何标量展开到具有与非卡拉尔输入相同的尺寸的非卡拉尔。

此表显示了输出产品示例输入,使用指示的值输入数量参数。

参数值 例子

输入的数量:2

输入的数量:* /

输入的数量:/ * * /

输入的数量:**

输入的数量:* / *

矩阵模式

当值的值乘法参数是矩阵(*),产品块在矩阵模式,它将非标量输入处理为矩阵。MATLAB的等效是操作符。在矩阵模式下,产品块可以反转单个方矩阵,或者乘以和划分任何数量的矩阵,这些矩阵具有在数学上定义的尺寸。

价值输入数量参数控制存在多少输入以及每个输入矩阵是否乘以或划分以形成输出。语法输入数量与元素模式相同。两种模式之间的区别在于乘法和除法的类型。

模拟和代码生成之间的预期差异

对于对复杂浮点输入的元素 - 明智的操作,近溢出案例中的模拟和代码生成结果可能不同。虽然复数选择和非谓语形式的数字没有选择代码生成>接口窗格中,代码生成器不会发出用于中间溢出的特殊情况代码。对于不包含极值的一般情况,该方法提高了嵌入式操作的效率。如果输入可能包括极端值,则必须显式地管理这些情况。

生成的代码可能不会产生相同的模式当这些值毫无意义时,值作为模拟的值。例如,如果模拟输出包含一个,生成的代码的输出也包含一个,但不一定是在同一个地方。

港口

输入

全部展开

首先输入要乘以或划分,提供为标量,矢量,矩阵或N-D阵列。

数据类型:一半|单身的||INT8.|int16|int32|int64|uint8|uint16|UINT32.|UINT64|布尔|固定点

乘或除的第n个输入,以标量、向量、矩阵或N-D数组的形式提供。

数据类型:一半|单身的||INT8.|int16|int32|int64|uint8|uint16|UINT32.|UINT64|布尔|固定点

输入信号乘以其他输入。

依赖性

启用一个或多个X端口,指定一个或多个字符的输入数量参数。

数据类型:一半|单身的||INT8.|int16|int32|int64|uint8|uint16|UINT32.|UINT64|布尔|固定点

用于除法或反转运算的输入信号。

依赖性

启用一个或多个÷端口,指定一个或多个/字符的输入数量参数。

数据类型:一半|单身的||INT8.|int16|int32|int64|uint8|uint16|UINT32.|UINT64|布尔|固定点

输出

全部展开

通过乘以,划分或反转输入来计算的输出。

数据类型:一半|单身的||INT8.|int16|int32|int64|uint8|uint16|UINT32.|UINT64|布尔|固定点

参数

全部展开

主要的

控制块的两个属性:

  • 块上输入端口的数量

  • 每个输入是否乘以或分为输出

当您指定:

  • 1或者或者/

    块有一个输入端口。在元素方向模式中,块按照产品的元素块。在矩阵模式下,如果参数值是1或者,块输出输入值。如果值是/,输入必须是方矩阵(包括标量作为退化情况),并且块输出矩阵逆。看Element-Wise模式矩阵模式为更多的信息。

  • 整型值> 1

    该块具有由整数值给出的输入数。输入乘以元素 - 方向模式或矩阵模式,如下所示乘法参数。看Element-Wise模式矩阵模式为更多的信息。

  • 两个或多个未加引号的字符串/字符

    该块的输入数量由字符向量的长度给出。对应于a的每个输入字符乘入输出。对应于a的每个输入/字符分为输出。操作以元素 - 方向模式或矩阵模式发生,如下所示乘法参数。看Element-Wise模式矩阵模式为更多的信息。

编程使用

块参数:输入
类型:特征向量
价值观:'2' | '**' | '*/' | '*/*' |…
默认值:' 2 '

指定块是否执行Element-wise (. *)或者矩阵(*)乘法。

编程使用

块参数:乘法
类型:特征向量
价值观:Element-wise(. *) |“矩阵(*)”
默认值:“Element-wise(. *)”

指定要乘为的维度所有维度, 或者指定的维度.当你选择指定的维度,可以指定作为1或者2

依赖性

启用此参数,设置输入数量乘法Element-wise (. *)

编程使用

块参数:顽固
类型:特征向量
价值观:'所有尺寸' | '指定尺寸'
默认值:“所有维度”

指定要乘以乘以小于或等于输入信号的尺寸的整数的尺寸。

依赖性

要启用该参数,请设置:

  • 输入数量

  • 乘法Element-wise (. *)

  • 乘以指定的维度

编程使用

块参数:披肩
类型:特征向量
价值观:'1'|'2'|......
默认值:'1'

将样本时间指定为-1以外的值。有关更多信息,请参阅指定采样时间

依赖性

除非将其明确设置为除此之外的值,否则此参数不可见。-1.想要了解更多,请看不推荐采样时间的块

编程使用

块参数:SampleTime
类型:特征向量
价值观:标量或矢量
默认值:'-1'

信号的属性

指定输入信号是否必须具有相同的数据类型。如果启用此参数,则在模拟期间发生错误,如果输入信号类型不同。

编程使用

块参数:InputSameDT
类型:特征向量
价值观:'off'|'在'
默认值:“关闭”

Simulink的输出范围的较低值金宝app®检查。

金宝appSimulink使用最小的执行:

请注意

输出最小值不饱和或夹住实际输出信号。使用饱和块来代替。

编程使用

块参数inumin.
类型:字符向量
价值“[]”|标量
默认“[]”

Simulink检查的输出范围的上限值。金宝app

金宝appSimulink使用最大值来执行:

请注意

输出最大不饱和或夹住实际输出信号。使用饱和块来代替。

编程使用

块参数outmax.
类型:字符向量
价值“[]”|标量
默认“[]”

选择输出的数据类型。类型可以继承、直接指定或表示为数据类型对象,例如金宝appsimulink.numerictype..有关更多信息,请参阅控制信号数据类型

当您选择继承的选项时,块的行为如下:

  • 继承:通过内部规则继承- 金宝appSimulink选择一个数据类型来平衡数字精度、性能和生成的代码大小,同时考虑嵌入式目标硬件的属性。如果更改内嵌目标设置,则内部规则选择的数据类型可能会更改。例如,如果块乘以一个类型为INT8.赢得int16ASIC / FPGA被指定为目标硬件类型,输出数据类型是SFIX24.如果未指定(假设32位通用),换句话说,一个通用的32位微处理器,被指定为目标硬件,输出数据类型为int32.如果目标微处理器提供的单词长度都不可以容纳输出范围,则Simulink软件在诊断查看器中显示错误。金宝app

  • 继承:保持MSB- 金宝app Simulink选择维护操作的全系列的数据类型,然后将输出的精度降低到适合于嵌入目标硬件的大小。

    提示

    要获得更有效的生成代码,请取消选择整数溢出饱和参数。

    这条规则永远不会产生溢出。

  • 继承:匹配缩放- 金宝appSimulink选择一个数据类型,该数据类型的缩放与输入类型的缩放匹配。如果所述类型的全范围不适合所述嵌入式目标硬件,则减少所述范围,从而产生适合于所述嵌入式目标硬件的类型。该规则可能会产生溢出。此规则不支持复杂信号之间的乘法运算金宝app

    继承:保持MSB继承:匹配缩放规则不支持复杂信号或非零偏金宝app差信号之间的乘法。这些规则只支持乘法和金宝app除法('**''* /'“/ *”),两个输入之间的矩阵乘法,两个输入的矩阵乘法,向量的两个元素的坍缩乘积。

    软件并不总是能够同时优化代码效率和数值精度。如果内部规则不能满足你对数字精度或性能的特定需求,请使用以下选项之一:

    • 显式指定输出数据类型。

    • 使用简单的选择继承:与输入相同

    • 明确指定默认数据类型,例如fixdt(1, 32岁,16)然后使用定点工具为模型提出数据类型。有关更多信息,请参阅fxptdlg(定点设计师)

    • 要指定自己的继承规则,请使用继承:通过反向传播继承然后使用一个数据类型传播块。有关如何使用此块的示例可在Signal Attributes库中找到数据类型传播示例块。

  • 继承:通过反向传播继承- 使用驱动块的数据类型。

  • 继承:与第一个输入相同—使用第一输入信号的数据类型。

依赖性

当输入是小于single precision的浮点数据类型时,继承:通过内部规则继承的设置决定输出数据类型继承小于单精度的浮点输出类型配置参数。数据类型小于单个精度,当编码数据类型所需的比特数小于编码单精度数据类型所需的32位时。例如,一半int16小于单精度。

编程使用

块参数OutDataTypeStr
类型:字符向量
价值继承:通过内部规则继承|“继承:保持最高有效位”|“继承:匹配扩展”|“继承:与第一次输入相同”|“继承:通过反向传播继承”|'双倍的'|“单一”|“一半”|“int8”|'uint8'|“int16”|“uint16”|“int32”|“uint32”|“uint64”|'int64'|“fixdt(16)”|'fixdt(1,16,0)'|“fixdt(1, 16日2 ^ 0,0)”|'<数据类型表达式>'
默认“继承:通过内部规则继承”

选择此参数以防止固定点工具覆盖输出数据类型您在块上指定。有关更多信息,请参阅使用锁定输出数据类型设置(定点设计师)

编程使用

块参数:lockscale.
类型:特征向量
价值观:'off'|'在'
默认值:“关闭”

为定点操作选择舍入模式。您可以选择:

天花板

将正数和负数舍入正无穷大。等价于MATLABCEIL.函数。

收敛

四舍五入数到最接近的可表示值。如果出现平局,四舍五入到最接近的偶数。相当于定点设计器™收敛函数。

地板上

将正数和负数取整数到负无穷。等价于MATLAB地面函数。

最近的

四舍五入数到最接近的可表示值。如果出现平局,四舍五入到正无穷。相当于定点设计器最近的函数。

圆形的

四舍五入数到最接近的可表示值。如果发生绑定,则将正数朝向正无穷大,并将负数朝向负无穷大。相当于定点设计器函数。

简单的

在向底四舍五入和向零四舍五入之间选择,以生成尽可能有效的四舍五入代码。

四舍五入数接近零。等价于MATLAB修复函数。

有关更多信息,请参阅舍入(定点设计师)

阻止参数始终舍入到最接近的可表示值。要控制块参数的舍入,请使用MATLAB舍入函数输入蒙版字段。

编程使用

块参数:RndMeth
类型:特征向量
价值观:'天花板' | '收敛' | '地板' | '最近' | 'Round' | '最简单' | '零'
默认值:“地板”

指定溢出是否饱和或缠绕。

行动 基本原理 对溢出的影响 例子

选中此复选框()。

您的模型具有可能的溢出,并且您希望在生成的代码中进行显式饱和保护。

溢出会饱和到数据类型所能表示的最小值或最大值。

的最大值INT8.(有符号,8位整数)的数据类型可以表示为127。任何大于这个最大值的块操作结果都会导致8位整数溢出。选中复选框后,块输出在127处饱和。类似地,块输出在最小输出值-128处饱和。

请勿选中此复选框(离开)。

您希望优化生成代码的效率。

您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参阅排除信号范围误差

溢出到可由数据类型表示的适当值。

的最大值INT8.(有符号,8位整数)的数据类型可以表示为127。任何大于这个最大值的块操作结果都会导致8位整数溢出。清除复选框后,软件将导致溢出的值解释为INT8.,这可能会产生意想不到的结果。例如,块结果130(二进制1000 0010)表示为INT8.,是-126。

选中此复选框后,饱和度适用于块上的每个内部操作,而不仅仅是输出或结果。通常,代码生成过程可以检测何时无法溢出。在这种情况下,代码生成器不会产生饱和码。

编程使用

块参数:saterateonintegeroverflow.
类型:特征向量
价值观:'off'|'在'
默认值:“关闭”

块特征

数据类型

布尔||固定点|一半|整数|单身的

直接喂养

是的

多维信号

是的

适应信号

是的

零交叉检测

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app

PLC的代码生成
使用Simulink®PLCCoder™生成结构化文本代码。金宝app

定点转换
使用fixed-point Designer™设计和模拟定点系统。

在R2006A之前介绍