MATLAB Simulink学习笔记
一、函数
1.注意事项
2.函数调用
** 注意:在编写函数时,要从函数简洁可读性出发,每个函数体有效代码不要太多,最好不要超过100行,并要写好注释和函数介绍 **
二、Simulink基础
1.增益模块
2.仿真设置
做软件(单片机里面)开发就选Type:Fixed-step Slover:discrete,(定步长;离散求解),因为要放在MCU里的定时中断处,所以需要定步长离散数据
做软件开发设置如下:
在上面勾上自己需要记录的数据后,在Data Insopector面板下可查看记录的数据
3.选择模块
4.模型封装
我们对子模块的输入/输出进行命名,则上一层模块对应位置也会出现相同的名子
注意:在封装过程中,要注意封装规范,相同模块进行封装,并且要对每个模块命名、对每个模块的输入输出命名以增加可读性
5.模型引用
调出模型引用模块,可以引用另外一个模型
进入模型引用的设置界面方法如下:打开设置界面后可更改被引用模型
打开设置界面也可以设置仿真模式:
Normal:普通模式,当作普通simulink来进行仿真
Accelerator:加速模式,将被引用 模型转成C代码然后处理成CLL文件,编译一次就可以了,可以很快提高速度
6.模型变体/子系统变体
当我们需要simulink做两个甚至多个相似的系统而且多个系统之间只有某一小块不一样,或者说汽车系统的不同驾驶模式(不同模式之间在simulink中差别不大),如果每个模式都重新做,那可能有点麻烦,,我们可以使用Variant Model模块,来进行模式与与模式之间的切换,如下:
双击打开后,里面可以引用其他子模型,添加完成其他模型如下:
这里相当于一个swish模块,当满足条件后模块执行上边那个(Model),否则执行下面那个(Model1),我们可以右键Variant Mode块图来设置条件
注意这里触发条件要符合C语言规范:
Variant Subsystem 功能和上一个Variant Mode差不多,Variant Mode是引用模型文件,Variant Subsystem是自建子文件,要自己画,其他功能一样。
7.自建创建模块库(不要盲目自己做,除非真的很有用)
在自己创建模块的时候,要把自己的模块封装一下做成子系统。
8.工作区
在matlab主页面下右边有一个工作区,它可以用来记录一些数据,方便查看
但是它有很多不足,这个工作区会将matlab所有的数据都存在里面,很杂很乱。
matlab simulink 提供了一个干净的工作区,可以将每个系统的工作数据分开存储,如下: