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

news2024/9/21 12:25:36

文章目录

  • 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属性中写上多个加减号,就可以将更多的信号进行加减运算;
在这里插入图片描述

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

>>返回个人博客总目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1965074.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务架构革新:百度Jarvis2.0与云原生技术的力量

作者 | 商业广告平台团队 导读 从十几个模块到上千个微服务,百度如何构建业界最复杂的微服务系统?Jarvis平台,十年磨一剑,集服务治理、配置管理、链路追踪于一体,打造云原生控制中心。Jarvis2.0,多运行时架…

大型分布式B2B2C多用户商城7.0企业版源码分享【java语言、方便二次开发】

项目介绍 项目基于SpringBoot开发,运营端和商户端采用ElementVue,买家使用采用VueIviewnuxt服务端渲染。使用到的中间件有Redis、RabbitMQ、ElasticSearch、FastDFS、Mongodb等。主要功能包括有运营管理、商品管理、订单管理、售后管理、会员管理、财务…

【PyQt5】一文向您详细介绍 QRadioButton() 的作用

【PyQt5】一文向您详细介绍 QRadioButton() 的作用 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕&am…

windows下安装gcc和make

目录 引言 第一种:自定义安装 下载和安装MinGw 将bin目录添加进环境变量 拷贝mingw-get.exe改名为make.exe 查看gcc和make命令是否安装成功 测试make和makefile 第二种:免安装,解压可用 下载mingw64 配置环境变量 拷贝mingw-get.e…

链码简介及MATLAB提取彩色图像链码

一、链码 链码(又称为freeman code)是一种通过带有给定方向的单位长度的线段序列来描述轮廓边界的方法,常被用来在图像处理、计算机图形学、模式识别等领域中表示曲线和区域边界。在二维图像中,链码可以表示为一系列的方向码,每个…

基于遗传算法的BP神经网络+代码解析

嗨,我是射手座的程序媛,期待和大家更多的交流与学习,欢迎添加3512724768。 基于遗传算法的BP神经网络代码解析 自己在2024年年初开始时,因为某些原因,了解到了基于遗传算法的神经网络。之前,对遗传算法并…

韦东山瑞士军刀项目自学之复习OS中断相关知识

和STM32无关,单纯是为了秋招复习一下中断的流程,其中涉及到内核态与用户态之间的转换,以及系统调用等等

开源免费软件一键瘦身你的Windows系统-Win11Debloat

开源免费软件一键瘦身你的Windows系统-Win11Debloat 前言 随着 Windows 11 的发布,许多用户发现系统中预装了大量的应用和功能,这些应用和功能可能会影响系统的性能和用户体验。为了帮助用户优化他们的 Windows 11 系统,可以使用一个名为 W…

VBA代码解决方案第十六讲:如何引用工作表(引用工作表的方式)

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码…

Mybatis的写增删改查的方法

一、Mybatis环境配置: 环境的配置我在前面的文章里有详细写https://blog.csdn.net/daibadetianshi/article/details/140698718?spm1001.2014.3001.5501https://blog.csdn.net/daibadetianshi/article/details/140698718?spm1001.2014.3001.5501 二、方法之用注解…

探索有赞小程序:揭秘其强大的组件库功能!

有赞小程序组件库是针对有赞小程序开发者提供的一套组件,它提供了丰富的功能和样式,方便开发者快速搭建和定制各种有赞小程序页面。下面将从四个方面对有赞小程序组件库的功能做详细的阐述。 1、UI组件 可实时在线编辑的设计工具——即时设计https://a…

【C++】C++11之右值引用

目录 一、前言 二、概念 2.1 左值和左值引用 2.2 右值和右值引用 三、左值引用与右值引用的区别 四、应用场景 4.1 左值引用的短板(将亡值) 4.2 右值引用的意义(移动语义) 五、右值引用引用左值 六、万能引用和完美转发…

从零开始手写STL库:HashTable

从零开始手写STL库–HashTable的实现 Gihub链接:miniSTL 文章目录 从零开始手写STL库–HashTable的实现HashTable是什么HashTable需要包含什么函数基础成员部分基础函数部分可用函数部分 其他函数总结 HashTable是什么 HashTable在STL中直接出现的情况并不多&…

宝塔部署springboot vue ruoyi前后端分离项目,分离lib、resources

1、“文件”中创建好相关项目目录,并将项目相关文件传到对应目录 例如:项目名称/ #项目总目录 api/ #存放jar项目的Java项目文件 manage/ #vue管理后端界面 …

计网面试题

OSI七层模型 物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 TCP/IP四层模型 应用层,传输层,网络层,网络层接口 HTTP(超文本传输协议)…

C语言典型例题20

《C程序设计教程(第四版)——谭浩强》 例题2.8 有两个整形变量a和b,将他们两个的值进行互换 代码: //《C程序设计教程(第四版)——谭浩强》 //例题2.8 有两个整形变量a和b,将他们两个的值进行…

【通俗理解】牛顿第三定律与生命反应——超越物自在主义的探讨

【通俗理解】牛顿第三定律与生命反应——超越物自在主义的探讨 牛顿第三定律与生命的类比 你可以把牛顿第三定律比作一个“即时回应器”,它表明作用力和反作用力总是同时、同量且反向发生。而生命则像是一个“策略玩家”,它不仅回应,还能操纵…

flutter存储日志文件代码

如题所示,我需要将flutter运行得到的相关日志信息存储成文件,可以按时间或者文件大小,将日志文件拆分存储成多个日志文件。在项目中我已实现这个功能,因为觉得有用,所以单独简化出来放在一个demo中。 这里给出我整理出…

掌握分布式系统的38个核心概念

天天说分布式分布式,那么我们是否知道什么是分布式,分布式会遇到什么问题,有哪些理论支撑,有哪些经典的应对方案,业界是如何设计并保证分布式系统的高可用呢? 1. 架构设计 这一节将从一些经典的开源系统架…