matlab仿真中的matlab fcn与fcn的区别
Math Function(数学函数)
(1)模块功能
执行一个数学函数.
(2)模块说明
Math Function模块执行许多普通的数学函数.
可以从Function列表框中的这些函数中选择一个以;exp,log,10^u,log10,magnitude
^2.square,sqrt,Pow,reciprocal,hypot,rem和mod.该模块的输出是对输入执行指定函数
运算的结果.
函数的名字显示在模块的图标中.simulink自动地画出适当数目的输入端口.
需要输出向量化的输出时应使用Ma小Fucntion模块而不是Fcn模块,因为Fcn模
块只能产生标量输出.
(3)模块数据类型
该模块接受实数或复数值信号或双精度类型信号向量.输出信号类型依据输出信号
类型参数设定,为实数或复数.
- Fcn(函数表达式)
- (1)模块功能
- 对输入应用一个结定的表达式.
- (2)模块说明
- Fcn模块对其输入使用指定的c语言风格描述的表达式.表达式可以用一或多个如下元素组成:
- 1)M:模块的输入.如果u是一个向量,u(i)表示向量的第i个元素,u(1)或者u表示第一个元素.
- 2)数字常量.
- 3)算术运算符(+,-,*,/)
- 4)关系运算符(==,!=,>,<,>=,<=),如果表达式运算结果为真时返回1,否则返回0;
- 5)逻辑运算符(&&,||,!)如果表达式运算结果为真时返回1,否则返回0;
- 6)圆括号.
- 7)数学函数:abs,acos,asin,atan,atan2,ceil,cos,cosh,exp,fabs,floor,hypor,ln,log,
- log10,pow,power,rem,sign,sin,sinh,sqrt,tan和tanh.
- 8)工作空间变量,不能被识别为上面所列出的各项的变量名将传给MATLAB求值.矩阵和向量的元素必须被指明(例如矩阵的第一个元素用A(1,1)而不是A).
复制代码
s函数最通常的用法是创建一个定制的Simulink模块.可以在许多应用程序中使用s函数,包括:
1)在Simulink中加进新的通用模块,
2)将已存在的C代码合并入一个仿真中;
3)将一个系统描述为一系列的数学方程;
4)使用图形动画.
使用s函数的一个优点是可以创建一个通用的模块,在棋型中可以多次使用它,使用时只需要改变它的参数值即可.
一般来说,尽量用Fcn函数,Matlab Fcn可以用Matlab的语法进行编辑,但其仿真时需要进行编译,因此速度较Fcn慢。
S函数则和上面两种模块没什么直接联系,它是用matlab或c语言编写有特殊需要的模块。
|