概述
#C0402
沧海茫茫千钟粟,且拾吾昧一微尘
——《沧海拾昧集》@CuPhoenix
【阅前敬告】
沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系
如有问题必是本集记录有谬,切勿深究
目录
一、新建Simulink仿真
二、几种常用的模块和设置
1、Sum模块
2、Mux模块
3、常量 / 增益模块
4、连续 / 离散零-极点模块
5、Scope模块(示波器)
6、Step模块(阶跃信号)
7、ToWorkspace模块
8、Subsystem模块(子模块)
三、基本操作
1、模块旋转
2、模块连线
3、开始仿真
四、简单实例
1、简单实例1:一个最基本的系统
2、简单实例2:简单PID控制
3、简单实例3:模型导出&数据画图
一、新建Simulink仿真
Simulink是MATLAB中的一种可视化仿真工具。Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。Simulink提供图形编辑器、可自定义的模块库以及求解器,能够进行动态系统建模和仿真。
1、如图选择,新建Simulink仿真。
2、在命令行窗口输入simulink或者点击【Library Browser】打开模块窗口。
3、拖动即可将模块放到Model中。
二、几种常用的模块和设置
双击即可进入模块的设置,模块的设置大同小异,可以自行摸索。如果不认识英文可以通过图像来简单判断。这里仅举例几个简单的例子抛砖。
1、Sum模块
- 模块位置:Library - Simulink - Math Operations(或Commonly Used Blocks)
- 模块图标:
- 模块设置:在 List of signs 中可以设置输入输出的方向、符号。
List of signs | 模块样式 |
---|---|
|++ | |
|+- | |
-|+ | |
-+| | |
--|++ |
2、Mux模块
- 模块位置:Library - Simulink - Commonly Used Blocks
- 模块图标:
- 模块设置:在 Number of inputs 中可以设置输入输出的方向、符号。
3、常量 / 增益模块
- 模块位置:Library - Simulink - Commonly Used Blocks
- 模块图标:
4、连续 / 离散零-极点模块
- 模块位置:Library - Simulink - Continuous(连续)/ Discrete(离散)
- 模块图标:
- 模块设置:以 [z1 z2 ... zx] [p1 p2 ... px] 的格式设置零点和极点值。
5、Scope模块(示波器)
- 模块位置:Library - Simulink - Sink
- 模块图标:
6、Step模块(阶跃信号)
- 模块位置:Library - Simulink - Sources
- 模块图标:
- 模块设置:设置阶跃的时间和幅度。
7、ToWorkspace模块
- 模块位置:Library - Simulink - Sources
- 模块图标:
- 模块设置:将仿真出的数据输出到工作区,设置变量名和输出序列的格式(按时序或输出为数组等)。
8、Subsystem模块(子模块)
- 模块位置:Library - Simulink - Commonly Used Blocks
- 模块图标:
- 模块用途:双击进入,建立一个子模块。在子模块中可以设置In与Out,这样就可以显示在子模块外作为入口和出口。
三、基本操作
1、模块旋转
在模块上单击右键,在Rotate&Flip进行模块的旋转和镜像。操作的快捷键是Ctrl+R。
2、模块连线
拖拽即可连线。
3、开始仿真
模块放置、设置、连线完成后,点击开始仿真进行仿真,然后在示波器中可以查看结果。
四、简单实例
1、简单实例1:一个最基本的系统
- 设 R(s) = 1 为常量,运行仿真,得到如下结果。
- 将 R(s) 设为阶跃信号(Step time = 2, Final value = 2),如下图。
2、简单实例2:简单PID控制
3、简单实例3:模型导出&数据画图
用ToWorkspace模块将数据导出到工作区后,Timeseries结构体可以这样画图。
plot(X.Time,X.Date)
// X 是变量名
若要导出Simulink Model,打开要导出的Model(导出子模块要将相应的模块打开),在工作区输入如下指令。
saveas(get_param(gcs, 'handle'),'xxx','emf')
// 'xxx'自定义文件名, 'emf'可以换成其他常用图片格式
formats = {'bmp','emf','pbm','pdf','pgm','png','ppm','tiff'};
name = 'simulink_saveas';
for ii = 1:length(formats)
saveas(get_param(gcs, 'handle'),name, formats{ii});
end
// 批量导出了多种格式的文件
敬谢诸君。
京华西山之巅。
最后
以上就是整齐胡萝卜为你收集整理的【沧海拾昧】MATLAB/Simulink仿真的基本操作的全部内容,希望文章能够帮你解决【沧海拾昧】MATLAB/Simulink仿真的基本操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复