自动控制原理MATLAB仿真实验报告.docx

上传人:b****4 文档编号:3081296 上传时间:2022-11-17 格式:DOCX 页数:20 大小:93.51KB
下载 相关 举报
自动控制原理MATLAB仿真实验报告.docx_第1页
第1页 / 共20页
自动控制原理MATLAB仿真实验报告.docx_第2页
第2页 / 共20页
自动控制原理MATLAB仿真实验报告.docx_第3页
第3页 / 共20页
自动控制原理MATLAB仿真实验报告.docx_第4页
第4页 / 共20页
自动控制原理MATLAB仿真实验报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

自动控制原理MATLAB仿真实验报告.docx

《自动控制原理MATLAB仿真实验报告.docx》由会员分享,可在线阅读,更多相关《自动控制原理MATLAB仿真实验报告.docx(20页珍藏版)》请在冰豆网上搜索。

自动控制原理MATLAB仿真实验报告.docx

自动控制原理MATLAB仿真实验报告

一、实验目的

学习利用MATLAB进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;

二、预习要点

1、系统的典型响应有哪些?

2、如何判断系统稳定性?

3、系统的动态性能指标有哪些?

三、实验方法

(一)四种典型响应

1、阶跃响应:

阶跃响应常用格式:

1、

;其中

可以为连续系统,也可为离散系统。

2、

;表示时间范围0---Tn。

3、

;表示时间范围向量T指定。

4、

;可详细了解某段时间的输入、输出情况。

2、脉冲响应:

脉冲函数在数学上的精确定义:

其拉氏变换为:

所以脉冲响应即为传函的反拉氏变换。

脉冲响应函数常用格式:

(二)分析系统稳定性

有以下三种方法:

1、利用pzmap绘制连续系统的零极点图;

2、利用tf2zp求出系统零极点;

3、利用roots求分母多项式的根来确定系统的极点

(三)系统的动态特性分析

Matlab提供了求取连续系统的单位阶跃响应函数step、单位脉冲响应函数impulse、零输入响应函数initial以及任意输入下的仿真函数lsim.

四、实验内容

(一)稳定性

1.系统传函为

,试判断其稳定性

2.用Matlab求出

的极点。

%Matlab计算程序

num=[32546];den=[134272];G=tf(num,den);pzmap(G);p=roots(den)

运行结果:

p=

+

-

+

-

图1-1零极点分布图

由计算结果可知,该系统的2个极点具有正实部,故系统不稳定。

%求取极点

num=[122];den=[17352];p=roots(den)

运行结果:

p=

+

-

的极点s1=,s2=+,

s3=-,s4=

(二)阶跃响应

1.二阶系统

1)键入程序,观察并记录单位阶跃响应曲线

2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录

3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:

由图1-3及其相关理论知识可填下表:

=

实际值

理论值

峰值Cmax

峰值时间tp

过渡时间

ts

4)修改参数,分别实现

的响应曲线,并记录

5)修改参数,分别写出程序实现

的响应曲线,并记录

%单位阶跃响应曲线

num=[10];den=[1210];step(num,den);

title('StepResponseofG(s)=10/(s^2+2s+10)');

图1-2二阶系统

单位阶跃响应曲线

%计算系统的闭环根、阻尼比、无阻尼振荡频率

num=[10];den=[1210];G=tf(num,den);

[wn,z,p]=damp(G)

运行结果:

wn=

 

z=

 

p=

+

-

由上面的计算结果得系统的闭环根s=-1±3i,阻尼比

、无阻尼振荡频率

 

图1-3

单位阶跃响应曲线(附峰值等参数)

 

第4)题:

%kosi=1阶跃响应曲线

wn=sqrt(10);

kosi=1;

G=tf([wn*wn],[12*kosi*wnwn*wn]);

step(G);

title('StepResponseofkosi=1');

 

%kosi=2的阶跃响应曲线

wn=sqrt(10);kosi=2;

G=tf([wn*wn],[12*kosi*wnwn*wn]);step(G);

title('StepResponseofkosi=2');

当wn不变时,由

的响应曲线可归纳:

①平稳性,由曲线看出,阻尼系数ζ↑,超调量↓,响应的振荡↓,平稳性好;反之,ζ↓,振荡↑,平稳性差。

②快速性,ζ↑,ts↑,快速性差;反之,ζ↓,ts↓;但ζ过小,系统响应的起始速度较快,但振荡强烈,影响系统稳定。

第5)题:

%wn1=的阶跃响应曲线

w0=sqrt(10);kosi=1/sqrt(10);wn1=*w0;

G=tf([wn1*wn1],[12*kosi*wn1wn1*wn1]);step(G);

title('StepResponseofwn1=');

图1-6wn1=的阶跃响应曲线

 

%wn2=2w0的阶跃响应曲线

w0=sqrt(10);kosi=1/sqrt(10);wn2=2*w0;

G=tf([wn2*wn2],[12*kosi*wn2wn2*wn2]);

step(G);

title('StepResponseofwn2=2w0');

 

图1-7wn2=2w0的阶跃响应曲线

由图1-6和图1-7得:

当ζ一定时,ωn↑,ts↓,所以当ζ一定时,ωn越大,快速性越好。

2.作出以下系统的阶跃响应,并与原系统响应曲线进行比较,作出相应的实验分析结果

(1)

,有系统零点的情况

(2)

,分子、分母多项式阶数相等

(3)

,分子多项式零次项为零

(4)

,原响应的微分,微分系数为1/10

%各系统阶跃响应曲线比较

G0=tf([10],[1210]);G1=tf([210],[1210]);G2=tf([110],[1210]);

G3=tf([10],[1210]);G4=tf([10],[1210]);

step(G0,G1,G2,G3,G4);

gridon;

title('实验StepResponse曲线比较');

图1-8各系统的阶跃响应曲线比较

 

3.单位阶跃响应:

求该系统单位阶跃响应曲线,并在所得图形上加网格线和标题

%单位阶跃响应

G=tf([25],[1425]);

step(G);

gridon;

title('实验StepResponseofG(s)=25/(s^2+4s+25)');

图1-9

阶跃响应曲线

 

(三)系统动态特性分析

用Matlab求二阶系统

的峰值时间

上升时间

调整时间

超调量

%G1阶跃响应

G1=tf([120],[112120]);

step(G1);

gridon;

title('StepResponseofG1(s)=120/(s^2+12s+120)');

图1-10

阶跃响应曲线

由图知

=,

=,

=,超调量

=%

 

%G2单位阶跃响应

G2=tf([],[1]);

step(G2);

gridon;

title('StepResponseofG2(s)=(s^2++');

图1-11

阶跃响应曲线

 

实验二MATLAB及仿真实验(控制系统的根轨迹分析)

一实验目的

1.利用计算机完成控制系统的根轨迹作图

2.了解控制系统根轨迹图的一般规律

3.利用根轨迹图进行系统分析

二预习要点

1.预习什么是系统根轨迹?

2.闭环系统根轨迹绘制规则。

三实验方法

(一)方法:

当系统中的开环增益k从0到变化时,闭环特征方程的根在复平面上的一组曲线为根轨迹。

设系统的开环传函为:

,则系统的闭环特征方程为:

根轨迹即是描述上面方程的根,随k变化在复平面的分布。

(二)MATLAB画根轨迹的函数常用格式:

利用Matlab绘制控制系统的根轨迹主要用pzmap,rlocus,rlocfind,sgrid函数。

1、零极点图绘制

[p,z]=pzmap(a,b,c,d):

返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。

[p,z]=pzmap(num,den):

返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。

pzmap(a,b,c,d)或pzmap(num,den):

不带输出参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用×表示,零点用o表示。

pzmap(p,z):

根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用×表示,零点用o表示。

2、根轨迹图绘制

rlocus(a,b,c,d)或者rlocus(num,den):

根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。

开环增益的值从零到无穷大变化。

rlocus(a,b,c,d,k)或rlocus(num,den,k):

通过指定开环增益k的变化范围来绘制系统的根轨迹图。

r=rlocus(num,den,k)或者[r,k]=rlocus(num,den):

不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k,返回闭环系统特征方程1+k*num(s)/den(s)=0的根r,它有length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。

或者同时返回k与r。

若给出传递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹。

(正反馈系统或非最小相位系统)

3、rlocfind()函数

[k,p]=rlocfind(a,b,c,d)或者[k,p]=rlocfind(num,den)

它要求在屏幕上先已经绘制好有关的根轨迹图。

然后,此命令将产生一个光标以用来选择希望的闭环极点。

命令执行结果:

k为对应选择点处根轨迹开环增益;p为此点处的系统闭环特征根。

不带输出参数项[k,p]时,同样可以执行,只是此时只将k的值返回到缺省变量ans中。

4、sgrid()函数

sgrid:

在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。

sgrid(‘new’):

是先清屏,再画格线。

sgrid(z,wn):

则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线。

四实验内容

1.

要求:

二、记录根轨迹的起点、终点与根轨迹的条数;

三、确定根轨迹的分离点与相应的根轨迹增益;

四、确定临界稳定时的根轨迹增益

%Matlab计算程序

z=[];p=[0-1-2];k=1;G=zpk(z,p,k);figure

(1);pzmap(G)

figure

(2);rlocus(G)

title('实验所作曲线');

(a)由图2-2知,起点分别为0,-1,-2,终点为无穷远处,共三条根轨迹.

(b)结合图2-3和图2-5得分离点d=,相应的根轨迹增益k=.

(c)结合图2-3和图2-4得临界稳定时的根轨迹增益

=

图2-1零、极点分布图

图2-2根轨迹图

图2-3根轨迹图

(2)

%求临界稳定时的根轨迹增益Kgl

z=[];p=[0-1-2];k=1;G=zpk(z,p,k);

rlocus(G)

title('实验临界稳定时的根轨迹增益Kgl');

[k,p]=rlocfind(G)

运行结果:

Selectapointinthegraphicswindow

selected_point=

+

k=

p=

+

-

图2-4根轨迹图(3)

%求取根轨迹的分离点与相应的根轨迹增益

z=[];p=[0-1-2];k=1;G=zpk(z,p,k);

rlocus(G)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1