主要内容

产品

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

  • 库:
  • 金宝appSimulink /常用块

    金宝appSimulink /数学运算

    HDL编码器/常用块

    HDL编码器/ HDL浮点运算

    HDL编码器/数学运算

  • 产品块

描述

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

  • 乘法:元素级(.*)

  • 输入的数量:2

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

输入和行为 例子

标量X标量

输出是两个输入的乘积。

标量X非标量

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

Nonscalar X Nonscalar

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

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

产品阻止(或划分块或者元素的乘积块,如果适当配置)可以:

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

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

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

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

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

元素模式

当你设定乘法元素级(.*),产品块在元素明智模式,它在任何非划痕输入的各个数字元素上运行。matlab.®是等价的.*操作符。在元素模式中,产品块可以执行各种乘法,分割和算术反演操作。

价值输入数量参数控制存在的输入数量以及每个输入是相乘还是相除以形成输出。当产品块处于元素导向模式且只有一个输入,它在功能上相当于a元素的乘积块。当块有多个输入时,任何非标量输入必须具有相同的维数,然后块输出具有这些维数的非标量。要计算输出,该块首先将任何标量输入扩展为与非标量输入具有相同维度的非标量。

的输出产品块的示例输入的指定值输入数量参数。

参数值 例子

输入的数量:2

输入的数量:*/

输入的数量:/ * * /

输入的数量:Arunachal Pradesh,

输入的数量:*/*

矩阵模式

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

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

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

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

生成的代码可能不会生成相同的模式当这些值在数学上没有意义时,将作为模拟值。例如,如果仿真输出包含,生成的代码的输出也包含一个,但不一定在同一个地方。

港口

输入

全部展开

首先输入要乘以或划分,提供为标量,矢量,矩阵或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时,块输出输入值。如果值为/,输入必须是方矩阵(包括标量作为退化情况),并且块输出矩阵逆。看到元素模式矩阵模式了解更多信息。

  • 整数值>1

    该块具有由整数值给出的输入数量。按元素方式或矩阵方式将输入相乘,由乘法参数。请参阅元素模式矩阵模式了解更多信息。

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

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

编程使用

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

指定块是否执行元素级(.*)矩阵(*)乘法。

编程使用

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

指定要乘为的维度所有尺寸, 或者指定的尺寸.当你选择指定的尺寸,您可以指定作为12

依赖性

要启用该参数,请设置输入数量乘法元素 - 明智(。*)

编程使用

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

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

依赖性

要启用该参数,请设置:

  • 输入数量

  • 乘法元素 - 明智(。*)

  • 乘以指定的尺寸

编程使用

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

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

依赖性

这个参数是不可见的,除非它被显式地设置为非-1.想要了解更多,请看不推荐采样时间的块

编程使用

块参数:SampleTime
类型:特征向量
价值观:标量还是向量
默认值:' 1 '

信号属性

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

编程使用

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

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

金宝appSimulink使用最小的执行:

请注意

输出最小值不饱和或剪辑实际输出信号。使用饱和取而代之的是封锁。

编程使用

块参数OutMin
类型:字符向量
“[]”|标量
默认的“[]”

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

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

请注意

最大输出不饱和或剪辑实际输出信号。使用饱和取而代之的是封锁。

编程使用

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

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

选择继承的选项时,块的行为如下所示:

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

  • 继承:保持MSB- 金宝appSimulink选择一种数据类型来维护整个操作范围,然后将输出的精度降低到适合嵌入式目标硬件的大小。

    提示

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

    此规则不会产生溢出。

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

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

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

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

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

    • 显式指定默认数据类型,例如fixdt(1, 32岁,16)然后使用定点工具为模型建议数据类型。有关详细信息,请参阅fxptdlg(定点设计师)

    • 要指定您自己的继承规则,请使用继承:通过反向传播继承然后使用一个数据类型传播块信号属性库中提供了如何使用此块的示例数据类型传播示例块。

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

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

编程使用

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

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

编程使用

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

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

天花板

将正数和负数取整数到正无穷。等价于MATLAB装天花板函数。

收敛

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

地板上

将正数和负数取整数到负无穷。等价于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®编码器生成C和C++代码™.金宝app

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

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

之前介绍过的R2006a