相关资料:
Matlab Simulink 官方文档: https://www.mathworks.com/help/simulink/index.html
注: 本博客是基于 Matlab 2015a 来的,所以不支持一些高版本的语法,例如后面高版本可以用双引号表示字符串,这里的2015a 只能用单引号。
Simulink Basic:
如何进入simulink 呢?
1,命令行输入:simulink,即可
2,或者点击HOME > Simulink Library
我们会看到很多Library,如下图:
每个library 下面有具体的block,例如Simulink(主库)下面有Sources 和 Sinks
如何理解Simlink?
它是 Simulation(仿真) + Link(连接) ,它帮助我们使用图形的方式来开发仿真分析和研究任何系统,而不是从头开始编写这些系统的代码,我们在Simulink的库找到我们需要使用的block,拖动它即可。
Project01 Sine Waves :
如何生成正弦波(sin waves),并在Simulink中显示
点击new model 新建一个模型,如下
选择 Simulink/Sources/ 中的 Sine Ware ,将它拖到Model 窗口中,
双击Sine Ware 可以编辑它的配置信息, 如下
在上图,配置好信息之后,可以点击Apply应用到当前block, 当然也可以点击OK(不过,它会关闭当前窗口)
设置三个不同的Sine Ware,如下:
接下来再在 Simulink/Sinks 下,拖拽Scope到Model窗口,如下:
Scope block 的作用: The Scope block displays inputs signals with respect to simulation time.
默认的Scope是只有一个输入,双击更改它为3个输入,如下:
然后,连接起来,如下:
效果如下:
然后,Ctrl + S 保存, 有两个后缀,默认是.slx
注: slx 比 mdl 后缀的文件小一些,
点击Run按钮,运行,如下:
自动缩放,显得更好看一些,
我们可以看到,第三个正弦波(fre 为10 )不是平滑,why?
它是因为我们实际上没有捕获到整个正弦波,我们可以通过在我们的Model窗口中的 Simulation> Model Configure Parameters 的Solver 下进行配置:如下
再次 Run, 然后AutoScale,就得到如下:
将三个正弦波(sin wares)加起来
我们在Simulink/Common Used Blocks 下可以看到 Sum Block,如下:
把它拖到我们的Model窗口中,它默认是有两个输入,我们将它改为3个输入,如下:
分别连接上:如下:
然后再加入一个Sink, 依然使用Scope,并连接上,如下:
然后Ctrl + S 保存,再Run,再AutoScale,得到Scope1 的情况如下:
将Scope1 这个信号 导出到工作区
这里需要一个新的Block,如下:
连接它,如下:
此时,我们保存,Run,就可以在Workspace,中看到我们的SUM_OUT(自己命名的)了,如下:
双击它可以看到我们的信号数据:
我们也就可以使用这个数据了,例如,我们可以绘制它,
在命令行输入以下命令绘制它,如下:
得到如下figure:
这就是将Simulink的信号导出到Workspace的用法,
练习
using the model we deveoped so far,we would like to magnify the output signal(which represents the summation of the three sine waves) by a factor of 3 and plot the answer
使用我们目前开发的模型,我们希望将输出信号(表示三个正弦波的总和)放大3倍并绘制答案
HINT: search for a gain multiplier in the simulink library