MATLAB仿真实验全部
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 MATLAB 及仿真实验(控制系统的时域分析)
一、实验目的
学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;
二、预习要点
1、 系统的典型响应有哪些
2、 如何判断系统稳定性
3、 系统的动态性能指标有哪些
三、实验方法
(一) 四种典型响应
1、 阶跃响应:
阶跃响应常用格式:
1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。
2、),(Tn sys step ;表示时间范围0---Tn 。
3、),(T sys step ;表示时间范围向量T 指定。
4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。
2、 脉冲响应:
脉冲函数在数学上的精确定义:0
,0)(1)(0
〉==⎰∞
t x f dx x f 其拉氏变换为:)
()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式: ① )(sys impulse ;
② );
,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y =
(二) 分析系统稳定性
有以下三种方法:
1、 利用pzmap 绘制连续系统的零极点图;
2、 利用tf2zp 求出系统零极点;
3、 利用roots 求分母多项式的根来确定系统的极点
(三) 系统的动态特性分析
Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.
四、实验内容
(一) 稳定性
1.系统传函为()27243645232345234+++++++++=
s s s s s s s s s s G ,试判断其稳定性
%Matlab 计算程序
num=[3 2 5 4 6];
den=[1 3 4 2 7 2];
G=tf(num,den);
pzmap(G);
p=roots(den) 2.用Matlab 求出2
53722)(2342++++++=s s s s s s s G 的极点。 %Matlab 计算程序
%求取极点
num=[1 2 2];
den=[1 7 3 5 2];
p=roots(den)
(二)阶跃响应
1. 二阶系统()10
2102++=s s s G 1)键入程序,观察并记录单位阶跃响应曲线
2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录
3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:
由图1-3及其相关理论知识可填下表:3//πωπ==
d p t =
4)修改参数,分别实现1=ζ和2=ζ的响应曲线,并记录
5)修改参数,分别写出程序实现012
1w w n =和022w w n =的响应曲线,并记录 %Matlab 计算程序
第1)题:
4.52%(00.9)3.5
5%n s n t ζωζζω⎧∆=⎪⎪=<<⎨⎪∆=⎪⎩
%单位阶跃响应曲线
clc
clear
num=[10];
den=[1 2 10];
step(num,den);
title('Step Response of G(s)=10/(s^2+2s+10)');
hold on
t=[0::6];
y1=;
plot(t,y1)
第2)题:
%计算系统的闭环根、阻尼比、无阻尼振荡频率num=[10];den=[1 2 10];
G=tf(num,den);
[wn,z,p]=damp(G);
第4)题:
%kosi=1阶跃响应曲线
wn=sqrt(10);
kosi=1;
G=tf([wn*wn],[1 2*kosi*wn wn*wn]);
step(G);
title('Step Response of kosi=1');
%kosi=2的阶跃响应曲线
wn=sqrt(10);
kosi=2;
G=tf([wn*wn],[1 2*kosi*wn wn*wn]);
step(G);
title('Step Response of kosi=2');
第5)题:
%wn1=的阶跃响应曲线
w0=sqrt(10);
kosi=1/sqrt(10);
wn1=*w0;
G=tf([wn1*wn1],[1 2*kosi*wn1 wn1*wn1]);
step(G);
title('Step Response of wn1=');
%wn2=2w0的阶跃响应曲线
w0=sqrt(10);kosi=1/sqrt(10);wn2=2*w0;
G=tf([wn2*wn2],[1 2*kosi*wn2 wn2*wn2]);
step(G);
title('Step Response of wn2=2w0');