自动控制原理大作业Word格式文档下载.docx
- 文档编号:21515133
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:34
- 大小:678.52KB
自动控制原理大作业Word格式文档下载.docx
《自动控制原理大作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《自动控制原理大作业Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。
,系统2为
求按串联、并联、正反馈、负反馈连接时的系统状态方程及系统1按单位负反馈连接时的状态方程。
编写程序如下:
clc
a1=[01;
-1-2];
b1=[0;
1];
c1=[13];
d1=[1];
a2=[01;
-1-3];
b2=[0;
c2=[14];
d2=[0];
[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2)%串联连接
[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2)%并联连接
[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,+1)%正反馈连接
[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2)%负反馈连接
[a,b,c,d]=cloop(a1,b1,c1,d1)%单位负反馈连接
运行结果如下(仅列出串联连接的结果):
串联连接
a=b=
01000
-1-3131
00010
00-1-21
c=
1400
d=
0
可见在MATLAB中,可以用程序建立各种数学模型,而且可以进行各类数学模型见的转换,因此利用MATLAB建立数学模型应用较为广泛。
第3章时域分析法
要判断系统的稳定性,只需要确定系统闭环极点在s平面上的分布。
利用MATLAB命令可以快速求出闭环系统零极点并绘制其零极点图,也可以方便绘出系统的时间响应曲线。
因此,利用MATLAB可以可以方便、快捷地对控制系统进行时域分析。
[例18]已知连续系统的传递函数为
要求:
①求出该系统的零、极点及增益。
②绘出起零、极点图,判断系统稳定性。
解可执行如下程序:
%Thisprogramcreatesatransferfunctionandthenfinds/displaysitspoles、zerosand%gain
num=[3,2,5,4,6];
den=[1,3,4,2,7,2];
[z,p,k]=tf2zp(num,den);
pzmap(num,den);
title('
Polesandzerosmap'
)
程序执行结果如下:
z=0.4019+101965ip=-1.7680+1.2673i
0.4019-101965i1.7680-1.2673i
-0.7352+0.8455i0.4176+1.1130i
-0.7352-0.8455i0.4176-1.1130i
-0.2991
K=3
同时屏幕上显示系统的零极点分布图(如图所示)
无论是从所求的系统零、极点,还是绘制出的零、极点图,都可以看到系统中有两个极点位于s的右半平面,因此,该系统不稳定。
[例19]已知典型二阶系统的传递函数为
式中
=6,绘图系统在
=0.1,0.2,……,1.0,2.0时的单位阶跃响应。
%Thisprogramplotsacurveofstepresponse
wn=6;
kosi=[0.1,0.2,1.0,2.0];
figure
(1)
holdon
forkos=kosi
num=wn.^2;
den=[1,2*kos*wn,wn.^2];
step(num,den)
end
StepResponse'
holdoff
从图中可以看出,在过阻尼和临界阻尼曲线中,临界阻尼的响应具有最短的上升时间,响应速度最快;
在欠阻尼的的响应曲线中,阻尼系数越小,超调量越大,上升时间越短。
[例20]已知三阶系统的传递函数为
绘制系统的单位阶跃响应和单位脉冲响应曲线。
%Thisprogramplotsacurveofstepresponseandstepimpulseforthreeorder%system
clf
num=[100200];
den=[11.4100.44100.04];
h=tf(num,den);
[y,t,x]=step(h)
[y1,t1,x1]=impulse(h)
subplot(211),plot(t,y)
xlabel('
time'
),ylabel('
amplitude'
subplot(212),plot(t1,y1)
impulseresponse'
第4章根轨迹法
[例9]已知单位反馈系统的开环传递函数为
试在系统的闭环的根轨迹图上选择一点,求出该点的增益K及其系统的闭环极点位置,并判定在该点系统的闭环稳定性。
解调用rlocfind()函数,Matlab程序为:
num=[13];
den=conv(conv(conv([10],[15]),[16]),[122]);
sys=tf(num,den);
rlocus(sys)
[k,poles]=rlocfind(sys)
根轨迹分析'
实轴'
ylabel('
虚轴'
执行程序后用光标在根轨迹图上选一点,可得到相应的该点的系统的增益和其闭环极点:
k=
82.3756
poles=
-5.6903+1.2000i
-5.6903-1.2000i
-2.2680
0.3243+1.7654i
0.3243-1.7654i
二,仿真
例1.某开环系统传递函数如
,要求绘制系统的闭环根轨迹,分析其稳定性,并绘制出当k=55和k=56时系统的闭环冲激响应。
解:
可执行如下程序:
numo=[12];
den=[143];
deno=conv(den,den);
figure
(1)
k=0:
0.1:
150;
rlocus(numo,deno,k)
rootlocus'
[p,z]=pzmap(numo,deno);
[k,p1]=rlocfind(numo,deno);
%求出系统临界稳定增益
k
figure
(2)%验证系统的稳定性
subplot(211)
k=55;
num2=k*[12];
den2=conv(den,den);
[numc,denc]=cloop(num2,den2,-1);
impulse(numc,denc)
impulseresponsek=55'
);
subplot(212)
k=56;
num3=k*[12];
den3=conv(den,den);
[numcc,dencc]=cloop(num3,den3,-1);
impulse(numcc,dencc)
impulseresponsek=56'
程序执行结果如下图所示:
运行后系统的闭环根轨迹如图4.1所示:
图4.1.闭环系统根轨迹图
执行程序后,用光标在根轨迹图上选一点,可得相应的该点的系统增益。
如:
selected_point=0.1789-3.4627ik=72.2648
selected_point=-0.1836+2.7795ik=39.5736
(注:
运行了两次,选取了两个不同的值。
K=72.2648时系统不稳定;
k=39.5736时,系统稳定)
同时,通过绘制k=55和k=56系统的闭环冲激响应曲线,验证其稳定性。
所得图如下:
图4.2.系统的闭环冲激响应曲线
当k=55时,系统根轨迹处于s左半平面,即其所有闭环极点的实部均为负值,所以在该点处,闭环系统是稳定的,如图4.2上所示。
当k=56时,系统根轨迹处于s右半平面,其闭环极点的实部有正值,所以在该点处,闭环系统是不稳定的,如图4.2下所示。
第5章频域分析法
[例11]有一个二阶系统,其自然频率
=1,阻尼因子
=0.2,要绘制出系统的幅频和相频曲线,可输入:
[a,b,c,d]=ord(1,0.2);
bode(a,b,c,d);
BodePlot'
执行后得到下图:
[例12]典型二阶系统:
绘制出
取不同值时的Bode图。
解取
=6,
取[0.1:
1.0]时二阶系统的Bode图可直接采用Bode得到。
MATLAB程序为
%Example5.1
%
wn=6;
kosi=[0.1:
1.0];
w=logspace(-1,1,100);
num=[wn.^2];
forkos=kosi
den=[12*kos*wnwn.^2];
[mag,pha,w1]=bode(num,den,w);
subplot(2,1,1);
holdon
semilogx(w1,mag);
subplot(2,1,2);
semilogx(w1,pha);
gridon
Frequency(rad/sec)'
GaindB'
Phasedeg'
执行后得下图:
[例13]有系统:
绘制出系统的Bode图。
解MATLAB程序为:
%Example5.2
k=100;
z=[-4];
p=[0-0.5-50-50];
[num,den]=zp2tf(z,p,k);
bode(num,den);
[例14]有二阶系统:
现要得到系统的Nyquist曲线,可输入:
num=[251];
den=[123];
nyquist(num,den);
NyquistPlot'
执行后可得到下图:
由于曲线没有包围-1+j0点且p=0,所以G(s)单位负反馈构成的闭环系统稳定。
[例15]开环系统:
解MATLAB程序为:
%Example5.3
k=50;
z=[];
p=[-52];
nyquist(num,den)
figure
(2)
[num1,den1]=cloop(num,den);
impulse(num1,den1);
ImpulseResponse'
从图中可以看出,系统Nyquist曲线按逆时针方向包围(-1,j0)点1圈,而开环系统包含右半S平面上的1个极点,因此闭环系统稳定。
[例16]开环系统:
绘制系统的Nyquist曲线,判断闭环系统稳定性,绘制出闭环系统的单位冲激响应。
解MATLAB程序为:
%Example5.4
p=[-1-52];
第6章控制系统的综合与校正
[6.12]设单位反馈系统的开环传递函数为:
使用Bode设计法设计滞后超前校正装置,使校正后的系统能满足如下的性能指标:
1在单位斜坡信号作用下,系统的速度误差系数
。
2系统校正后的剪切频率
3系统校正后相角稳定裕度
4校正后系统时域性能指标:
MATLAB命令:
k0=30;
n1=1;
d1=conv(conv([10],[0.11]),[0.21]);
[mag,phase,w]=bode(k0*n1,d1);
figure
(1);
margin(mag,phase,w);
figure
(2);
s1=tf(k0*n1,d1);
sys=feedback(s1,1);
step(sys)
执行后得到:
(1)未校正系统的BODE图:
(2)未校正系统的阶跃响应曲线:
%求滞后校正器的传递函数:
wc=1.5;
k0=40;
d1=conv(conv([10],[11]),[14]);
beta=9.5;
T=1/(0.1*wc);
betat=beta*T;
Gc1=tf([T1],[betat1])
执行后所得结果:
Transferfunction:
6.667s+1
63.33s+1
%求超前校正器的传递函数:
n1=conv([040],[6.6671]);
d1=conv(conv(conv([10],[11]),[14]),[63.331]);
sope=tf(n1,d1);
num=sope.num{1};
den=sope.den{1};
na=polyval(num,j*wc);
da=polyval(den,j*wc);
g=na/da;
g1=abs(g);
h=20*log10(g1);
a=10^(h/10);
wm=wc;
T=1/(wm*(a)^(1/2));
alphat=a*T;
Gc=tf([T1],[alphat1])
1.82s+1
0.2442s+1
%校验:
n1=40;
s1=tf(n1,d1);
s2=tf([6.6671],[63.331]);
s3=tf([1.821],[0.24421]);
sope=s1*s2*s3;
[mag,phase,w]=bode(sope);
margin(mag,phase,w)
执行后所得结果(校正后的系统Bode图)为:
%校验后性能指标及阶跃响应:
globalyt;
d1=conv(conv([10],[11]),[1,4]);
sys=feedback(sope,1);
[y,t]=step(sys);
运行后,得到校正后的单位阶跃响应曲线如图示:
第7章离散控制系统
[例21]某二阶系统:
要求其阶跃响应,可输入:
num=[2-3.41.5];
den=[1-1.60.8];
dstep(num,den)
title('
DiscreteStepResponse'
执行后可得下图:
[例23]有系统:
可输入:
axis('
square'
zgrid('
new'
rlocus(num,den);
RootLocus'
[例24]已知离散系统:
,绘制出系统的Nyquist曲线,判别闭环系统的稳定性,并绘制出闭环系统的单位冲激响应。
解MATLAB程序如下:
num=0.692;
den=[1,-1.758,0.375];
p
dnyquist(num,den,0.1)
离散Nyquist曲线图'
实数轴'
虚数轴'
dimpulse(num1,den1);
离散冲激响应'
时间'
振幅'
运行程序可得下图:
p=
1.5096
0.2484
由仿真图可知该离散系统是发散的。
例1.已知一个离散系统如图所示,其中采样周期TS=1s.,对象模型
,零阶保持器
,试求开环增益的稳定范围。
图7.1系统模型图
执行如下程序:
num=1;
den=[110];
%连续系统传递函数
c2d(sys,1)%离散系统传递函数
运行结果如下:
0.3679z+0.2642
--------------------------------
z^2-1.368z+0.3679
Samplingtime:
1
继续编写程序,求取该离散系统的根轨迹图:
num=[0.36790.2642];
den=[1-1.3680.3679];
G=tf(num,den,-1);
rlocus(G)
[k,poles]=rlocfind(G)
用鼠标单击根轨迹与单位圆的交点,可以得到交点的极点坐标以及交点处的开环增益K值,如图7.2所示。
运行程序如下:
selected_point=1.0118-0.0047iselected_point=-0.7227+0.0047i
k=0.0127k=778.5564
poles=poles=
0.9873-284.3382
0.3761-0.7247
selected_point=0.2536-0.9643i
k=2.3513
0.2515+0.9622i
0.2515-0.9622i
图7.2离散系统的根轨迹图
在程序运行中选取了三个点,极点、零点以及根轨迹与单位园的交点,可得在整个根轨迹图中,k=0~778.5564。
在离散系统根轨迹图上,虚线表示的是单位元,由理论分析可知,系统闭环传递函数的所有极点位于z平面的单位圆内时,该离散系统是稳定的。
从根轨迹的分布图上可以看出,当0<
k<
2.3513时,该离散系统是稳定的。
令k=1,编写程序,还可以求得该离散系统的单位冲激响应曲线,进一步验证该离散系统是否稳定。
程序如下:
dimpulse(num1,den1)
运行程序,得到离散闭环系统的单位冲激响应如图7.3,可见该离散系统在k=1时是稳定的。
第8章控制系统状态空间分析与综合
[例19]已知线性定常系统如图所示:
试求系统的的状态方程,选择正定的实对称矩阵Q后计算李雅普诺
夫方程的解并利用李雅普诺夫函数确定系统的稳定性。
解选择正定的实对称矩阵
编写如下程序:
n1=5;
d1=[11];
n2=1;
d2=[12];
s2=tf(n2,d2);
n3=1;
d3=[10];
s3=tf(n3,d3);
s123=s1*s2*s3;
sys=feedback(s123,1);
[ABCD]=tf2ss(sys.num{1},sys,den{1});
[ABCD]=tf2ss(sys.num{1},sys.den{1});
q=[100;
010;
001];
ifdet(A)~=0
p=lyap(A,q)
det1=det(p(1,1))
det2=det(p(1:
2,1:
2))
detp=det(p)
程序运行结果为:
23.0000-0.5000-13.5000
-0.500013.5000-0.5000
-13.5000-0.50008.2000
det1=
23.0000
det2=
310.2500
detp=
71.1750
因为
故有:
是负定的。
从运行结果可以看出:
对各阶主子行列式(det1,det2,det3)进行校验说明p阵确实是正定阵,因此系统在坐标原点的平衡状态时稳定的,而且是大范围渐进稳定的。
第9章非线性控制系统
[例19]试用描述函数法分析下图非线性系统的稳定性:
解程序如下:
k=input('
k='
num=[000k];
den=[1650];
w=0.1:
100;
[re,im,w]=nyquis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动控制 原理 作业