我是靠谱客的博主 整齐胡萝卜,最近开发中收集的这篇文章主要介绍【沧海拾昧】MATLAB/Simulink仿真的基本操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#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仿真。

新建Simulink Model
Simulink Model界面

2、在命令行窗口输入simulink或者点击【Library Browser】打开模块窗口。

打开Library Browser
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 中可以设置输入输出的方向、符号。
设置 Mux 的 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
  • 模块图标:
其他类型的输入源也可以在 Sources 中找到

  •  模块设置:设置阶跃的时间和幅度。
设置 Step time 和 Final value

7、ToWorkspace模块

  • 模块位置:Library - Simulink - Sources
  • 模块图标:

  •   模块设置:将仿真出的数据输出到工作区,设置变量名和输出序列的格式(按时序或输出为数组等)。
设置变量名和序列格式

8、Subsystem模块(子模块)

  • 模块位置:Library - Simulink - Commonly Used Blocks
  • 模块图标:

  • 模块用途:双击进入,建立一个子模块。在子模块中可以设置In与Out,这样就可以显示在子模块外作为入口和出口。
子模块内

子模块外

三、基本操作

1、模块旋转

        在模块上单击右键,在Rotate&Flip进行模块的旋转和镜像。操作的快捷键是Ctrl+R。

模块上单击右键 - Rotate&Flip

2、模块连线

        拖拽即可连线。

3、开始仿真

        模块放置、设置、连线完成后,点击开始仿真进行仿真,然后在示波器中可以查看结果。

开始仿真

四、简单实例

1、简单实例1:一个最基本的系统

控制系统方框图

Simulink 仿真模型

  • 设 R(s) = 1 为常量,运行仿真,得到如下结果。
示波器中显示的响应曲线
  • 将 R(s) 设为阶跃信号(Step time = 2, Final value = 2),如下图。
示波器中显示的响应曲线

2、简单实例2:简单PID控制

Simulink 仿真模型

示波器中显示的响应曲线

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仿真的基本操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部