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

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中进行基本的算术运算的模块及其代码,这些在建模中是最常见的。

>>返回个人博客总目录

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值