一、实验目的
1.掌握利用MATLAB建立控制系统模型的方法。
2.掌握系统的各种模型表述及相互之间的转换关系。
3.学习和掌握系统模型连接的等效变换。
二、实验原理
1.系统模型的MATLAB描述
系统的模型描述了系统的输入、输出变量以及内部各变量之间的关系,表征一个系统的模型有很多种,如微分方程、传递函数模型、状态空间模型等。这里主要介绍系统传递函数(TF)模型、零极点增益(ZPK)模型和状态空间(SS)模型的MATLAB描述方法。
1)传递函数(TF)模型
传递函数是描述线性定常系统输入-输出关系的一种最常用的数学模型,其表达式一般为
(1-1)
在MATLAB中,直接使用分子分母多项式的行向量表示系统,即
num=[b m,b m-1,…b1,b0]
den=[a n,a n-1,…a1,a0]
调用tf函数可以建立传递函数TF对象模型,调用格式如下:
Gtf=tf(num,den)
Tfdata函数可以从TF对象模型中提取分子分母多项式,调用格式如下:
[num,den]=tfdata(Gtf)返回cell类型的分子分母多项式系数
[num,den]=tfdata(Gtf,'v')返回向量形式的分子分母多项式系数
2)零极点增益(ZPK)模型
传递函数因式分解后可以写成
式中,m z,z,,z12⋯称为传递函数的零点,n p,p,,p12⋯称为传递函的极点,k为传递系数(系统增益)。
在MATLAB中,直接用[z,p,k]矢量组表示系统,其中z,p,k分别表示系统的零极点及其增益,即:
z=[z1,z2,…,z m];
p=[p1,p2,…,p n];
k=[k];
调用zpk函数可以创建ZPK对象模型,调用格式如下:
Gzpk=zpk(z,p,k)同样,MATLAB提供了zpkdata命令用来提取系统的零极点及其增益,调用格式如下:[z,p,k]=zpkdata(Gzpk)返回cell类型的零极点及增益
[z,p,k]=zpkdata(Gzpk,’v’)返回向量形式的零极点及增益
函数pzmap可用于求取系统的零极点或绘制系统得零极点图,调用格式如下:
pzmap(G)在复平面内绘出系统模型的零极点图。
[p,z]=pzmap(G)返回的系统零极点,不作图。
3)状态空间(SS)模型
由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成:
其中:x为n维状态向量;u为r维输入向量;y为m维输出向量;A为n×n方阵,称为系统矩阵;B为n×r矩阵,称为输入矩阵或控制矩阵;C为m×n矩阵,称为输出矩阵;D为m×r矩阵,称为直接传输矩阵。
在MATLAB中,直接用矩阵组[A,B,C,D]表示系统,调用ss函数可以创建ZPK对象模型,调用格式如下:
Gss=ss(A,B,C,D)
同样,MATLAB提供了ssdata命令用来提取系统的A、B、C、D矩阵,调用格式如下:[A,B,C,D]=ssdata(Gss)。它返回系统模型的A、B、C、D矩阵。
4)三种模型之间的转换
上述三种模型之间可以互相转换,MATLAB实现方法如下
TF模型→ZPK模型:zpk(SYS)或tf2zp(num,den)
TF模型→SS模型:ss(SYS)或tf2ss(num,den)
ZPK模型→TF模型:tf(SYS)或zp2tf(z,p,k)
ZPK模型→SS模型:ss(SYS)或zp2ss(z,p,k)
SS模型→TF模型:tf(SYS)或ss2tf(A,B,C,D)
SS模型→ZPK模型:zpk(SYS)或ss2zp(A,B,C,D)
2.系统模型的连接
在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、并联连接和反馈连接。图1-2分别为串联连接、并联连接和反馈连接的结构框图和等效总传递函数。
在MATLAB中可以直接使用“*”运算符实现串联连接,使用“+”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback实现,调用格式如下:
T=feedback(G,H)
T=feedback(G,H,sign)
其中,G为前向传递函数,H为反馈传递函数;当sign=+1时,GH为正反馈系统传递函数;当sign=-1时,GH为负反馈系统传递函数;默认值是负反馈系统。
三、实验内容
1.已知控制系统的传递函数如下
试用MATLAB建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。
2.已知控制系统的状态空间方程如下
试用MATLAB建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。
3已知三个系统的传递函数分别为
试用MATLAB求上述三个系统串联后的总传递函数。
4.已知如图E2-1所示的系统框图
试用MATLAB求该系统的闭环传递函数。
5已知如图E2-2所示的系统框图
试用MATLAB求该系统的闭环传递函数。
数据及代码:
第一题:
num=[21840];
den=[1586];
Gtf=tf(num,den);
Gzpk=zpk(Gtf);
pzmap(Gzpk);
grid on;
Gss=ss(Gzpk)
Gss =
a =
x1x2
x3x1-1
10
x2-1-1 2.515x300-3
b =
u1
x10
x2 1.778x3 1.414
c =
x1x2x3y1 3.374 1.1250
d =
u1y10
Continuous-time state-space model.
-5-4.5-4-3.5-3-2.5-2-1.5-1-0.50
P ole-Zero Map Real Axis (seconds -1)
I m a g i n a r
y
A x
i s (s
e c
o
n d s -
1)
第二题:
A=[0100;0010;0001;-1-2-3-4]; B=[0;0;0;1];
C=[10200];
D=[0];
Gss=ss(A,B,C,D);
Gtf=tf(Gss);
Gzpk=zpk(Gss);
pzmap(Gzpk);
grid on;
Gss=
a=
x1x2x3x4
x10100
x20010
x30001
x4-1-2-3-4
b=
u1
x10
x20
x30
x41
c=
x1x2x3x4
y110200
d=
u1
y10
Continuous-time state-space model. Gtf=
2s+10
-----------------------------
s^4+4s^3+3s^2+2s+1
Continuous-time transfer function.
Gzpk =
2(s+5)
---------------------------------------------(s+3.234)(s+0.6724)(s^2+0.0936s +0.4599)Continuous-time zero/pole/gain model.
-5-4.5-4-3.5-3-2.5-2-1.5-1-0.50
P ole-Zero Map Real Axis (seconds -1)
I
m a g i n a r
y
A x
i s
(s
e c
o n d s -
1)
第三题:
num1=[265];
den1=[1452];
Gtf1=tf(num1,den1)num2=[141];
den2=[1980];
Gtf2=tf(num2,den2)num3=conv(conv([05],[1
3]),[17]);den3=conv(conv([11],[14]),[16]);
Gtf3=tf(num3,den3)Gtf=Gtf1*Gtf2*Gtf3
2s^2+6s+5
---------------------
s^3+4s^2+5s+2
Continuous-time transfer function.
Gtf2=
s^2+4s+1
-----------------
s^3+9s^2+8s
Continuous-time transfer function.
Gtf3=
5s^2+50s+105
------------------------
s^3+11s^2+34s+24
Continuous-time transfer function.
Gtf=
10s^6+170s^5+1065s^4+3150s^3+4580s^2+2980s+525
-----------------------------------------------------------------------------
s^9+24s^8+226s^7+1084s^6+2905s^5+4516s^4+4044s^3
+1936s^2+384s
Continuous-time transfer function.
第四题:
num1=[01];
den1=[11];
g1=tf(num1,den1)num2=[01];
den2=[0.51];
g2=tf(num2,den2)
num3=[03];
den3=[10];
g3=tf(num3,den3)
g=(g1+g2)*g3
u=feedback(g,g2)
g1=
1
-----
s+1
Continuous-time transfer function. g2=
1
---------
0.5s+1
Continuous-time transfer function. g3=
3
-
s
Continuous-time transfer function. g=
4.5s+6
---------------------
0.5s^3+1.5s^2+s Continuous-time transfer function.u=
2.25s^2+7.5s+6
---------------------------------------
0.25s^4+1.25s^3+2s^2+5.5s+6
Continuous-time transfer function.
第五题:
num1=[02];
den1=conv([10],[11]);
g1=tf(num1,den1)
num2=[13];
den2=[12];
g2=tf(num2,den2)
f1=feedback(g1,g2,+1)
num3=[010];
den3=[11];
g3=tf(num3,den3)
f2=g3*f1
num4=[50];
den4=[168];
g4=tf(num4,den4)
f3=feedback(f2,g4)
g1=
2
-------
s^2+s
Continuous-time transfer function.
g2=
s+3
-----
s+2
Continuous-time transfer function.
f1=2s+4
---------------
s^3+3s^2-6
Continuous-time transfer function.
g3=
10
-----
s+1
Continuous-time transfer function.
f2=
20s+40
-----------------------------
s^4+4s^3+3s^2-6s-6
Continuous-time transfer function.
g4=
5s
-------------
s^2+6s+8
Continuous-time transfer function.
f3=
20s^3+160s^2+400s+320
----------------------------------------------------
s^6+10s^5+35s^4+44s^3+82s^2+116s-48 Continuous-time transfer function.
四.实验收获与心得
刚开始做这个实验,拿着讲义,感觉不熟悉实验内容和软件,但是,耐心看看讲义后,做实验,按照步骤一步一步的做,还是能完成,虽然比较慢。做完了,觉得收获很大的。在实际中掌握了自动控制的知识。
实验2控制系统的暂态特性分析
一、实验目的
1.学习和掌握利用MATLAB进行系统时域响应求解和仿真的方法。
2.考察二阶系统的时间响应,研究二阶系统参数对系统暂态特性的影响。
二、实验原理
1.系统的暂态性能指标
控制系统的暂态性能指标常以一组时域量值的形式给出,这些指标通常由系统的单位阶跃响应定义出来,这些指标分别为:
(1)延迟时间t d:响应曲线首次到达稳态值的50%所需的时间。
(2)上升时间t r:响应曲线从稳态值的10%上升到90%所需要的时间长,对于欠阻尼系统,通常指响应曲线首次到达稳态值所需的时间。
(3)峰值时间t p:响应曲线第一次到达最大值的时间。
(4)调整时间t s:响应曲线开始进入并保持在允许的误差(±2%或±5%)范围内所需要的时间。
(5)超调量σ:响应曲线的最大值和稳态值之差,通常用百分比表示
其中y(t)为响应曲线。
在MATLAB中求取单位阶跃响应的函数为step,其使用方法如下
step(sys)在默认的时间范围内绘出系统响应的时域波形
step(sys,T)绘出系统在0–T范围内响应的时域波形
step(sys,ts:tp:te)绘出系统在ts–te范围内,以tp为时间间隔取样的响应波形。[y,t]=step(…)该调用格式不绘出响应波形,而是返回响应的数值向量及其对应的时间向量。
系统的暂态性能指标可以根据上述定义,在响应曲线上用鼠标读取关键点或通过搜索曲线对应的数值向量中关键点来确定。
2.LTI Viewer工具
在MATLAB中提供了线性是不变系统仿真的工具LTI Viewer,可以方便地观察系统的响应曲线和性能指标。在命令窗口中键入litview即可启动LTI Viewer。这里简要介绍LTI Viewer工具(如图2-1所示)的使用方法。
1)【File】菜单
Import选项:可以从Workspace或MAT文件中导入系统模型。
Export选项:将当前窗口中的对象模型保存到Workspace或文件中。
Toolbox preferences选项:属性设置功能,可以设置控制系统中得各种属性值。
Page Setup选项:页面设置功能,可以对打印输出和显示页面进行设置。
2)【Edit】菜单
Plot Configuration选项:对显示窗口及显示内容进行配置。
Line Style选项:线型设置功能,可以对输出响应曲线的线型进行设置。
Viewer Preferences选项:对当前窗口的坐标、颜色、字体、响应曲线的特性参数等属性进行设置。
3)右键菜单
在运行界面上点击鼠标右键,将会弹出一个弹出式菜单,菜单上个选项的功能分别为:Plot Types:选择绘制的系统曲线类型,可选的类型有单位阶跃响应、单位冲击响应、波特图、奈奎斯特图、零极点图等。
System:选择需要仿真的系统。
Characteristic:系统的性能指标选项。
Grid:显示和关闭网格。
Normalize:正常显示模式。
Full View:满界面显示模式。
Properties:性能编辑器选项,可以设置画面的标题、坐标标志、坐标范围、线型、颜色、性能指标等。
三、实验内容
1.已知单位负反馈系统前向通道的传递函数为
试用MATLAB绘制系统的单位阶跃响应曲线。
2.已知二阶系统
(1)ζ=6.0,ωn=5,试用MATLAB绘制系统单位阶跃响应曲线,并求取系统的暂态性能指标。
(2)ωn=1,ζ从0变化到2,求此系统的单位阶跃响应。
(3)ζ=5.0,ωn从0变化到1(ωn≠0),求此系统的单位阶跃响应。
(4)观察上述实验结果,分析这两个特征参数对系统暂态特性的影响。
数据及代码:
一代码:
num=80;
den=[120];
G=tf(num,den)
T=feedback(G,1)
step(T)
grid on
图形:
01234567
00.2
0.4
0.6
0.8
11.2
1.4
1.6
1.8
Step Response Time (seconds)
A m p
l i t u
d e 二代码:
(1)a=0.6;
w=5;
num=[w*w];
den=[1,2*w*a,w*w];
G=tf(num,den)
step(G)
grid on
ltiview
上升时间tr:响应曲线上升到90%所需要的时间为0.371s。
峰值时间tp:响应曲线第一次到达最大值的时间为0.787s。
调整时间ts:响应曲线开始进入并保持在允许的误差范围内所需要的时间为 1.19s。超调量σ:响应曲线的最大值和稳态值只差的百分比为σ=9%。
2)代码:
w=1;
a=[0,0.4,0.8,1.2,1.6,2];
for i=1:6
num=[w*w];
den=[1,2*w*a(i),w*w];
G=tf(num,den);
step(G,30)
hold on
end
legend('a=0','a=0.4','a=0.8','a=1.2','a=1.6','a=2');
图像:
0510********
00.2
0.4
0.6
0.8
1
1.2
1.41.61.82
Step Response Time (seconds)
A m
p l i t u
d e (3)代码:
w=[0.2,0.4,0.6,0.8,1];
a=0.5;
for i=1:5
num=[w(i)*w(i)];
den=[1,2*w(i)*a,w(i)*w(i)];
G=tf(num,den);
step(G,15)
hold on
end
legend('w=0.2','w=0.4','w=0.6','w=0.8','w=1.0');
图像:
05
1015
00.2
0.4
0.6
0.81
1.21.4
Step Response
Time (seconds)A m p l i t u d e (4)
1.由(2)中实验结果可知,在频率w 不变的情况下,阻尼比ζ越大,上升时间、峰值时间延长;超调量越小,过渡时间变快;
2.由(3)中实验结果可知,在阻尼比ζ不变的情况下,w 越大,上升时间、峰值时间减小;超调量不变,调节时间越短,快速性越好。
数据及代码:
四、实验心得
通过本次实验,我更加深刻的掌握了时域分析系统的方法,尤其是对于二阶系统的动态分析。这对于我自动控制的学习帮助很大。
一、实验目的
1.学习和掌握利用MATLAB绘制根轨迹图的方法。
2.学习和掌握利用系统根轨迹图分析系统的性能。
二、实验原理
1.根轨迹分析的MATLAB实现
根轨迹是指系统某一参数变化时,闭环特征根在s平面上运动的轨迹。在MATLAB中,提供了用于根轨迹分析的专门函数。
1)rlocus函数
该函数的使用方法如下:
rlocus(sys)绘制单输入单输出LTI系统的根轨迹图。
rlocus(sys,k)使用用户指定的根轨迹增益k来绘制系统的根轨迹图。
[r,k]=rlocus(sys)返回根轨迹增益值和闭环极点值,不绘制根轨迹图。
2)rlocfind函数
该函数的使用方法如下:
[k,poles]=rlocfind(sys)计算鼠标选取点处的根轨迹增益值和闭环极点值,可在图形窗口根轨迹图中显示出十字光标,当用户选择其中一点时,相应的增益值和极点值记录在k和poles 中。
[k,poles]=rlocfind(sys,p)计算最靠近给定闭环极点p处的根轨迹增益。
3)sgrid函数
该函数的使用方法如下:
Sgrid可在连续系统根轨迹或零极点图上绘制出栅格线,栅格线由等阻尼系数和等自然频率线构成。
sgrid(‘new’)先清除当前的图形,然后绘制出栅格线,并将坐标轴属性设置成hold on。sgrid(z,Wn)指定阻尼系数z和自然频率Wn。
sgrid(z,Wn,’new’)指定阻尼系数z和自然频率Wn,在绘制栅格线之前清除当前的图形并将坐标轴属性设置成hold on。
2.Rltool工具
MATLAB提供了一个根轨迹设计工具Rltool,在命令窗口输入rltool命令即可启动该工具,也可输入rltool(sys)命令打开带系统模型sys的根轨迹设计器,运行界面如图3-1所示。Rltool工具既可以分析系统根轨迹也能对系统进行设计,具体使用方法请参考MATLAB帮助或查阅相关资料。
1.已知系统开环传递函数为
(1)使用MATLAB绘制系统的根轨迹图。
(2)求根轨迹的两条分支离开实轴时的K值,并确定该K值对应的所有闭环极点。(3)以区间[-40,-5]之间的值替代12−=s处的极点,重新绘制根轨迹图,观察其对
根轨迹图的影响。
2.已知系统开环传递函数为
(1)使用MATLAB绘制系统的根轨迹图。
(2)计算两条分支进入右半平面和两条分支复数极点出发在实轴相交处的K值。
(3)以区间[-20,-1]之间的值替代零点的位置,重新绘制根轨迹图,观察其对根轨迹图的影响。
3.已知单位负反馈系统的开环传递函数为
(1)使用MATLAB绘制系统的根轨迹图。
(2)分析使系统稳定的K值范围和使系统无超调的K值范围,并通过观察系统的单位阶跃响应曲线加以验证。
数据及代码:
第一题:
(1)试验代码:
z=-5;
p=[0,-1,-3,-12];
k=1;
zpk1=zpk(z,p,k)
rlocus(zpk1)
结果:
zpk1=
(s+5)
--------------------
s(s+1)(s+3)(s+12)
Continuous-time zero/pole/gain model.
-40-30-20-10
01020
-30-20
-10
01020
30Root Locus
Real Axis (seconds -1)I m a g i n a r y A x i s (s e c o n d s -1)(2)试验结果:
Select a point in the graphics window
selected_point =
-0.4700-0.0000i
k =
1.6041
poles =
-12.0094
-3.0555
-0.4700
-0.4650
>>rlocus(zpk1,1.6041)
分析:
k =1.6041
poles =-12.0094;-3.0555;-0.4700;-0.4650
(3)
s=-40:5:-5;
hold on;
for x=1:length(s)
p=[0,-1,-3,s(x)];
zpk2=zpk(z,p,k);
hold on;
rlocus(zpk2);
end
gtext('s=-40')
gtext('s=-35')
gtext('s=-30')
gtext('s=-25')
gtext('s=-20')
gtext('s=-15')
gtext('s=-10')
gtext('s=-5')
分析:
(1)以区间[-40,-5]之间的值替代s=-12极点对于根轨迹的分离点没有影响。(2)根轨迹在分离点分离后,代替的极点值越大,其趋向无穷大的速度越快,即变化率随极点值的增大而增大。而且极点的绝对值越大,渐近线的角度的绝对值越大。即:渐近线与虚轴交点绝对值越大。
2(1)实验代码:
num1=[1,8];
den1=[110480];g1=tf(num1,den1);zpk3=zpk(g1)rlocus(zpk3)
-25
-20-15-10-5051015
-25-20-15-10-5051015
20
25Root Locus
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
(2)实验代码:[k,poles]=rlocfind(zpk3)
Select a point in the graphics window
selected_point =-0.0237+3.91i
k =59.4119
poles =
-5.0947+3.3424i -5.0947-3.3424i 0.0947+3.5767i 0.0947-3.5767i
-25
-20-15-10-5051015
-25-20-15-10-5051015
20
25Root Locus
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
分析:两条分支进入右半平面的k 值为59.4119。[k,poles]=rlocfind(zpk3)
Select a point in the graphics window selected_point =-10.1659-0.0776i
k =
2.0693e+003
poles =
5.2414+11.4175i 5.2414-11.4175i -10.2414+0.0257i -10.2414-0.0257i
-25
-20-15-10-5051015
-25-20-15-10-5051015
20
25Root Locus
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
分析:两条分支复数极点出发在实轴相交处K 值:2.0693e+003(3)实验代码:
for x=1:length(s)z=s(x);
p=[0-2-4+4j -4-4j];zpk4=zpk(z,p,k);rlocus(zpk4);end
-80
-60-40-200204060
-80-60
-40-20020
40
60
80Root Locus
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
分析:零点的绝对值越大,左半支根轨迹在负实轴上的汇合点绝对值越大。右半支根轨迹趋向无穷大的速度越快,与虚轴的相交点的绝对值越大。当零点为-1时,左边的根轨迹为直线。第三题:
(1)试验代码:
num2=1;
den2=[1450];g2=tf(num2,den2);zpk5=zpk(g2)rlocus(zpk5)
-6
-5-4-3-2-101
-4-3
-2-101
2
3
4Root Locus
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
(2)
系统稳定时,K 的取值范围为:0 den3=[1450];g3=tf(num3,den3);t1=feedback(g3,1);step(t1)grid on 0102030405060708090100 0.20.40.60.811.2 1.41.61.8 2Step Response Time (seconds) A m p l i t u d e K=10时,观察系统单位阶跃响应 num3=10; den3=[1450];g3=tf(num3,den3);t1=feedback(g3,1);step(t1)grid on 0246810 1214161820 00.2 0.4 0.6 0.8 11.2 1.4 1.6 Step Response Time (seconds)A m p l i t u d e 无超调时,K 的取值范围为:0 k=0:0.5:3; hold on; for i=1:length(k) num3=[k(i)]; den3=[1450]; g3=tf(num3,den3); t1=feedback(g3,1); step(t1) grid on end 0102030405060708090 00.2 0.4 0.6 0.81 1.2 1.4Step Response Time (seconds) A m p l i t u d e 分析:由实验结果知:系统稳定时,K 的取值范围为:0 K 值范围为:0 通过本次实验,我加深了对于根轨迹图的理解和图形的画法与规则,在实际中绘制根轨迹,收获很大,也为以后的继续学习打下了基础。 一、实验目的 1.学习和掌握利用MATLAB绘制系统Nyquist图和Bode图的方法。 2.学习和掌握利用系统的频率特性分析系统的性能。 二、实验原理 系统的频率特性是一种图解方法,分析运用系统的开环频率特性曲线,分析闭环系统的 性能,如系统的稳态性能、暂态性能常用的频率特性曲线有Nyquist图和Bode图。在MATLAB 中,提供了绘制Nyquist图和Bode图的专门函数。 1.Nyquist图 nyquist函数可以用于计算或绘制连续时间LTI系统的Nyquist频率曲线,其使用方法如下: nyquist(sys)绘制系统的Nyquist曲线。 nyquist(sys,w)利用给定的频率向量w来绘制系统的Nyquist曲线。 [re,im]=nyquist(sys,w)返回Nyquist曲线的实部re和虚部im,不绘图。 2.Bode图 bode函数可以用于计算或绘制连续时间LTI系统的Bode图,其使用方法如下: bode(sys)绘制系统的Bode图。 bode(sys,w)利用给定的频率向量w来绘制系统的Bode图。 [mag,phase]=bode(sys,w)返回Bode图数据的幅度mag和相位phase,不绘图。 3.幅度和相位裕度计算 margin函数可以用于从频率响应数据中计算出幅度裕度、相位裕度及其对应的角频率,其使用方法如下: margin(sys) margin(mag,phase,w) [Gm,Pm,Wcg,Wcp]=margin(sys) [Gm,Pm,Wcg,Wcp]=margin(mag,phase,w) 其中不带输出参数时,可绘制出标有幅度裕度和相位裕度值的Bode图,带输出参数时,返回幅度裕度Gm、相位裕度Pm及其对应的角频率Wcg和Wcp。 三、实验内容 1.已知系统开环传递函数为 绘制系统的Nyquist图,并讨论其稳定性。 2.已知系统的开环传递函数为 (1)绘制系统的零极点图,根据零极点分布判断系统的稳定性。 (2)绘制系统Bode 图,求出幅度裕度和相位裕度,判断闭环系统的稳定性。 3. 已知系统的开环传递函数为 分别判断当开环放大系数K =5和K =20时闭环系统的稳定性,并求出幅度裕度和相位裕度。 数据及代码: 第一题: num1=[1000]den1=[181710]G=tf(num1,den1)nyquist(G) 结果: -2002040 6080100 -80-60 -40 -20 02040 60 80 Nyquist Diagram Real Axis I m a g i n a r y A x i s 分析:因为系统没有开环正实部极点,而Nyquist 围线有两次负穿越,因此系统不稳定。第二题: num=10*[25/16,5/4,1]den=conv([1,0,0],conv([10/3,1],conv([0.2/3,1],[1/40,1]))) G=tf(num,den)G=zpk(G)pzmap(G)margin(G) 结果: num = 15.625012.500010.0000 den = 0.00560.3072 3.4250 1.000000 G = 15.63s^2+12.5s +10 ------------------------------------------- 0.005556s^5+0.3072s^4+3.425s^3+s^2 Continuous-time transfer function. 零级点图: -40-35-30-25-20-15-10-50 P ole-Zero Map Real Axis (seconds -1) I m a g i n a r y A x i s (s e c o n d s - 1) 分析:由图可知:系统有一开环极点存在于虚轴上,属于临界稳定,视为不稳定。 伯德图: -150-100-50050100 150 M a g n i t u d e (d B ) 10-210-1100101102103 P h a s e (d e g )Bode Diagram Gm = -18.4 dB (at 0.661 rad/s) , P m = 60.7 deg (at 4.39 rad/s)Frequency (rad/s) 分析:由图可知:系统的相位裕度是60.7°,幅度裕度是-18.4dB 。由于系统的幅值裕度小于0,因此闭环系统不稳定。 第三题: (1) K=5num=[K]den=conv([1,0],conv([1,1],[0.1,1]))G=tf(num,den)margin(G) 结果: K = 5 num = 5 den = 0.1000 1.1000 1.00000 G = 5 --------------------- 0.1s^3+1.1s^2+s Continuous-time transfer function. 伯德图: -150-100-50050 100 M a g n i t u d e (d B ) 10-210-1100101102103 P h a s e (d e g )Bode Diagram Gm = 6.85 dB (at 3.16 rad/s) , P m = 13.6 deg (at 2.1 rad/s)Frequency (rad/s) 分析:由图可知:幅值裕度:6.85dB ,相位裕度:13.6°。由于系统的相位裕度和幅度裕度都大于0,所以闭环系统稳定。 (2) K=20num=[K]den=conv([1,0],conv([1,1],[0.1,1]))G=tf(num,den)margin(G) 结果: K = 20 num = 20 den = 0.1000 1.1000 1.00000 G = 20 --------------------- 0.1s^3+1.1s^2+s Continuous-time transfer function. 伯德图: Bode Diagram Gm = -5.19 dB (at 3.16 rad/s) , P m = -9.66 deg (at 4.23 rad/s) Frequency (rad/s) -150-100-50050100 M a g n i t u d e (d B ) 10-210-1100101102103 P h a s e (d e g )分析:由图可知:幅度裕度:-5.19dB ,相位裕度:-9.66°。由于系统的相位裕度和幅度裕度都小于0,所以闭环系统不稳定。 四、实验心得 通过本次实验,我加深了对于频域分析系统的理解,基本掌握了Nyquist 和Bode 图的绘制方法,在实际中绘制了图像,体验到了matlab 的强大。实验虽然结束了,但我仍会继续学习下载本文