问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Simulink代码生成:基本算数运算

创作时间:
作者:
@小白创作中心

Simulink代码生成:基本算数运算

引用
CSDN
1.
https://blog.csdn.net/u013288925/article/details/140807005

文章目录

  • 1 引言
  • 2 模块使用实例
  • 2.1 Add模块
  • 2.2 Product模块
  • 2.3 Gain模块
  • 3 代码生成
  • 4 总结

1 引言

算数运算是Simulink中的一种基本运算,对应C语言中的算数运算符,包括加、减、乘、除和取模运算。本文研究这几种运算在Simulink的使用,以及生成的代码。

2 模块使用实例

2.1 Add模块

在Simulink中拖出一个Add模块,如下图:

该模块默认为左边的输入端口是两个加号,代表其输出是两个输入的和。给两个constant常数输入,再给一个display模块输出,运行模型就可以得到两个输入相加的计算结果。

双击该模块打开配置,在List of signs属性中显示为两个加号,对应了两个端口的加号。假如将其改成“±”号,如下图所示;

再点击OK,那么模块的输入也会随之变为+和-,如下图所示;

这就代表该模块的输出是上一个输入减去下一个输入的差。

在List of signs属性中写上多个加减号,就可以将更多的信号进行加减运算;

加减模块还有另一种形式,如下图:

其功能与上述Add模块完全相同,只是图形上类似于控制框图的加法模块。

2.2 Product模块

在Simulink中拖出一个Product模块,如下图:

该模块默认为输出是两个输入的乘积。给两个constant常数输入,再给一个display模块输出,运行模型就可以得到两个输入相乘的计算结果。

双击该模块打开配置,在Number of inputs属性中显示为2,表示是2个输入相乘,也可以将其改为更大的数字,表示多个输入相乘,例如改成4;

再点击OK,那么模块的输入也会随之变为4个输入,如下图所示;

如果把Number of inputs属性改成“*/”,则表示除法;

这里注意,整形数相除得出的也是整数,去掉了余数,例如7U/2U = 3U。浮点数相除还是浮点数,例如7.0F/2.0F = 3.5F。这是计算机的基本知识。

2.3 Gain模块

在Simulink中拖出一个Gain模块,如下图:

该模块的输出为输出的某个倍数,也就是一个放大器的作用。

双击该模块,Gain属性表示输出是输入的多少倍,例如将其修改为2。

在回到模块上,就能看到数字变成了2,比较直观。

给一个constant常数输入,再给一个display模块输出,运行模型就可以得到输入乘以2的计算结果。

3 代码生成

在Simulink中建模如下:

模型中包含了通过Add、Product、Gain模块实现的加、减、乘、除运算。配置好代码生成后,Ctrl + B生成代码。

生成的代码中对应了C语言中加、减、乘、除的基本运算符。

4 总结

本文研究了在Simulink中进行基本的算术运算的模块及其代码,这些在建模中是最常见的。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号