#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结构体可以这样画图。
1
2plot(X.Time,X.Date) // X 是变量名
若要导出Simulink Model,打开要导出的Model(导出子模块要将相应的模块打开),在工作区输入如下指令。
1
2
3
4
5
6
7
8saveas(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仿真内容请搜索靠谱客的其他文章。
发表评论 取消回复