MATLAB——Simulink二阶系统
天涯路儿
2021年01月11日 14:22
收录于文集
共13篇

这次还是继续为之后的专栏做铺垫(如果之后还继续写这一系列专栏的话)。

以一个经典的有质量、弹性和阻尼的东西为例。质量×加速度,阻尼×速度,弹性×偏移量(距离),驱动力构成这样一个动力系统。这样一来有一个简单的等式:

二阶系统

这个东西通常被称为二阶系统,接下来我们用MATLAB的Simulink搭建这个系统:

Simulink搭建二阶系统

如图 2所示,我们需要用到Step、Add、Gain、Integrator、Scope这几个模块。点击工具栏的Library Browser在Simulink Library找到这几个模块,并将其拖放到工作区。

Sources下的Step模块

图 3 Step模块

Sinks 下的 Scope 模块

图  4 Scope 模块

Continous 下的 Integrator 模块

图  5 Integrator 模块

Math Operations 下的 Gain 模块

图  6 Gain 模块 

Math Operations 下的 Add 模块

图  7Add 模块

然后配置我们找到的这些模块,双击 Add 模块,将 List of signs改为-+-

图  8 配置 Add 模块

按住 Ctrl 拖动 Gain 模块,将其复制,右键 Gain 模块进行旋转或者选中 Gain 模块后按快捷键 Ctrl+R

图  9  配置 Gain 模块

将配置好的模块按图  10 方式连接起来,直接拖动鼠标即可连接。

图  10 连接各模块 

修改系统的参数,分别双击 Step 以及 3 个 Gain 模块

图  11 修改 Step 的 Step time

Gain 模块参数过长,显示不下时可以拖动调整模块大小

图  12 Gain 模块参数显示不下

图  13 拖动调整模块大小

点 击 File->Model  Properties->  Model  Properties->Call  backs-> InitFcn  进行初始化参数。

图  14  初始化参数

m=0.5;%这里是质量 0.5kg c=0;%  这里是阻尼 0 k=1; %  这里是弹性 1N/m w=sqrt(k/m); %  这里是振动系统的频率 kes=c/(2*w*m);%这里是判断系统状态的 ξ 值 %0<ξ<1:欠阻尼  ξ=1:临界阻尼  ξ>1:过阻尼

图  15  初始化参数

设置一下仿真系统的仿真步长,点击工具栏的小齿轮,点击下拉菜单 Additional options 设置 Max step size 为 0.0001(值越小,曲线越光滑,但系统运算量也越大)。

图  16  设置仿真系统的仿真步长 

点击工具栏的小三角运行,双击 Scope 模块查看运行结果。点击View->Style 进行图像风格的调整。

图  17  图像风格的调整

调整完后的图像

图  18  图像风格的调整 

回到 MATLAB 主界面工作区,在工作区窗口可以查看运行后,各个参数的取值。

图19 各参数取值

然后可以对参数进行修改,探索二阶系统不同ξ 值下的单位阶跃响应曲线。