Simulink中提供了大量的数学运算模块,对应C语言中
Math Function模块表示一些基本的数学运算,在Simulink中拖出一个Math Function模块,如下图:
模块默认是一个指数函数的功能。双击模块可以在Function下拉菜单中切换该模块的功能:
例如切换成Square,即平方,点击确认后,模块的图形就会变为相应的数学表达式,非常好理解。
对该模块给一个常数输入和display模块观测,再仿真一下,可以直观地了解其用法。
模块用法比较简单,可以根据自身的需求切换其功能进行使用。具体下拉菜单的功能可以直接在帮助文档中查看详细的解释。
Math Function模块表示三角函数运算,在Simulink中拖出一个Math Function模块,如下图:
模块默认是一个正弦函数的功能。双击模块可以在Function下拉菜单中切换该模块的功能:
同样地,对该模块给一个常数输入和display模块观测,再仿真一下,可以直观地了解其用法。
这里需要注意,三角函数模块输入的信号是以弧度为单位,如果是角度单位,进行一个简单的系数转换即可。
Abs模块表示绝对值运算,在Simulink中拖出一个Abs模块,如下图:
对该模块给一个常数输入和display模块观测,再仿真一下,可以直观地了解其用法。
该模块的使用也是比较简单的。
在Simulink中建模如下:
分别使用了上述三种模块进行简单的输入输出建模,接着Ctrl+B生成代码。首先看到在Math_Module.c主程序中包含了
接着看一下主程序中的step函数
在step函数中可以看到三行代码,对应了模型中的三组输入输出的计算。
注意,由于模型默认的是double类型(双精度浮点类型)的输入输出,所以sin()函数和fabs()函数都是返回的double类型的函数。
如果在模型中把输入port模块的类型改成single,那么生成的代码会对应改变:
正弦函数和绝对值函数会变成sinf()和fabsf()。
本文研究了Math Function模块、Trigonometric Function模块和Abs模块的用法,在实践中使用的频率是比较高的。
>>返回个人博客总目录