MATLAB仿真实验全部

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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');

相关文档
最新文档