MATLAB仿真实验全部
- 格式:doc
- 大小:208.94 KB
- 文档页数:12
实验一 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.系统传函为()272436
45232345234+++++++++=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 =1.0472
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:0.001:6];
y1=1.02;
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=0.5w0的阶跃响应曲线
w0=sqrt(10);
kosi=1/sqrt(10);
wn1=0.5*w0;
G=tf([wn1*wn1],[1 2*kosi*wn1 wn1*wn1]); step(G);
title('Step Response of wn1=0.5w0');
%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');