Fcn
将指定的表达式应用于输入
库:
Simulink /
User-Defined Functions
描述
Fcn 模块将指定的数学表达式应用于其输入。表达式可以包括以下一个或多个组件:
u
- 模块的输入。如果u
是向量,则u(i)
表示向量的第i
个元素;u(1)
或单独一个u
表示第一个元素。数值常量。
算术运算符 (+ -
*
/ ^)。关系运算符 (
== != > < >= <=
) - 如果关系为 true,则表达式返回 1;否则,返回 0。逻辑运算符 (&& || !) - 如果关系为 true,则表达式返回 1;否则,返回 0。
括号。
数学函数 -
abs
、acos
、asin
、atan
、atan2
、ceil
、cos
、cosh
、exp
、floor
、hypot
、log
、log10
、power
、rem
、sgn
(等效于 MATLAB® 中的sign
)、sin
、sinh
、sqrt
、tan
和tanh
。注意
Fcn 模块不支持
round
和fix
。使用 Rounding Function 模块应用这些舍入模式。工作区变量 - 在前面的项目列表中未识别的变量名称传递给 MATLAB 进行计算。必须特意引用矩阵或向量元素(例如,对于矩阵中的第一个元素,须使用
A(1,1)
而不是A
)。
Fcn 模块遵循以下运算符优先级规则:
( )
^
+ -
(一元)!
* /
+ -
> < <= >=
== !=
&&
||
该表达式不同于 MATLAB 表达式,因为该表达式无法执行矩阵计算。此外,此模块不支持冒号运算符 (:)。
模块输入可以是标量或向量。输出始终为标量。对于向量输出,可考虑使用 Math Function 模块。如果模块输入是向量,并且函数对输入元素分别进行操作(例如 sin
函数),则该模块只对第一个向量元素进行操作。
限制
在普通模式或加速模式(请参阅加速模式的工作原理)下的仿真期间,或在生成的代码中,无法调节表达式。要实现可调表达式,请在 Fcn 模块外部调节表达式。例如,使用 Relational Operator 模块在外部计算表达式。
Fcn 模块不支持自定义存储类。请参阅使用 Struct 存储类将参数数据组织为结构体 (Embedded Coder)。
端口
输入
输出
参数
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|