MATLAB仿真技术与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例2-1 已知一个系统的微分方程为:
⎪⎪⎩⎪⎪⎨⎧-==12215x
u d t
d x x
d t
d x
其中,状态变量初始条件0)0()0(21==x x ,输入u 为阶跃函数,要求利用SIMULINK 对系统建立仿真模型,并绘制时域响应曲线。
在利用SIMULINK 创建模型之前,先把微分方程进行拉普拉斯变换,得到每个微分方程
的传递函数,即用传递函数的形式表示系统。
Gain
连接信号之后的系统模型图 exam2_1
系统时域响应曲线
例7-9 一个控制系统由5个子系统组成,组成结构如下图
各子系统的传递函数分别为:
6
1521
5)(2
21++++=s s s s s G ,)20)(2()
6(4)(2+++=
s s s s G ,1010)(3+=s s G ,6
31)(4+++=s s s s G ,1.0)(=s H
试在MATLAB 中分别用仿真模块建模和仿真命令编程两种方法进行仿真,并绘制系统的
阶跃响应曲线图。
首先在Simulink 环境下将所需要的仿真模块连接起来,并将各模块的参数设置好。
系统的仿真模型图 exam7_9
系统的阶跃响应
MATLAB 程序如下: %control system simulation
clear all; clc;
num1=[1 5 1]; den1=[2 15 6];
G1=tf(num1,den1);
z=-6;
p=[-2;-20];
k=4;
G2=zpk(z,p,k);
G3=tf(10,[1 10]);
num4=[1 1];
den4=[1 3 6];
G4=tf(num4,den4);
H=0.1;
Gf=(G1*G2+G3)*G4;
G=feedback(Gf,H);
GG=tf(G);
step(G);
%axis([0 10 0 0.35])
grid on
程序运行后得到的阶跃响应曲线如图所示。
系统的阶跃响应
程序运行结果为:
Zero/pole/gain:
12 (s+0.3845) (s+1) (s+2.199) (s+7.054) (s+18.45)
----------------------------------------------------------------------------------------- (s+19.99) (s+9.88) (s+7.077) (s+1.993) (s+0.4234) (s^2 + 3.137s + 6.217) Transfer function:
12 s^5 + 349 s^4 + 2699 s^3 + 6654 s^2 + 5612 s + 1320
--------------------------------------------------------------------------------------------------------------- s^7 + 42.5 s^6 + 628.7 s^5 + 4227 s^4 + 1.441e004 s^3 + 2.788e004 s^2 + 2.684e004 s + 7332
从结果可以看出,采用仿真模块建模实现仿真的方法与采用仿真命令实现仿真的方法得到的仿真结果是完全相同的。采用哪一种方法进行仿真,可以根据实际情况而定。一般说来,采用仿真模块建模实现仿真的方法更简单、方便,但采用仿真命令实现仿真的方法更灵活。
2.4.1 利用输出模块分析
利用SIMULINK输出模块进行仿真结果分析输出有以下几种方法:
观察输出轨迹;
以文件形式输出;
直接显示数据输出;
用表盘和量计显示输出;
进行数字信号处理、分析输出。
1.观察输出轨迹
⑴信号输入到Scope模块或XY Graph(相轨迹示波器)模块观察输出轨迹。
sin(2t)
图exam2_21
⑵将输出信号写入返回变量,并利用MATLAB命令绘图
在仿真结束后,在MATLAB工作空间自动生成两个变量tout和yout,分别返回时间矢量和各个输出端子的仿真结果。执行plot(tout,yout)得图示结果。
Gain
图exam2_23
⑶使用ToWorkspace模块把输出写入到MATLAB工作空间,然后通过MATLAB的绘图命令绘制输出轨迹。
Gain
图exam2_25
2. 以文件形式输出仿真结果
Step
Gain
利用输出模块中的To file模块可以将仿真结果以Mat文件的格式直接保存到数据文件
中。
3. 直接显示数据输出
4. 表盘和量计显示输出
Dials & Gauges
5. 信号处理、分析输出
DSP模块、SIMULINK Extra模块
图exam2_29
2.5 子系统
随着研究的系统越来越大,越来越复杂,直接使用基本的SIMULINK模块创建的系统模型会十分庞大,而且信号的传输方向也会变得十分不明显。为了简化模型以及增加它的可读性,可以将一些独立功能的模块化分成一组,构成子系统。
2.5.1 子系统的创建
使用子系统不仅可以使仿真模型中显示的模块数量减少,便于读图,而且还建立了层次化的仿真模型框图,子系统模块在一个层次,组成各个子系统的模块在另外一个层次。
创建子系统的方法有两种:一种是利用模型中已经存在的模块创建子系统;另一种是通过向子系统模块加入新的模块创建子系统。
1. 通过已有模块创建子系统