自动控制原理大作业Word格式文档下载.docx
《自动控制原理大作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《自动控制原理大作业Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
den1=[1,4];
num2=[2,4];
den2=[1,2,3];
[num,den]=parallel(num1,den1,num2,den2)
则得
num=
051825
den=
161112
因此
[例13]两个子系统为
将两个系统按反馈方式连接,可输入
numg=[251];
deng=[123];
numh=[510];
denh=[110];
[num,den]=feedback(numg,deng,numh,denh)
2255110
11577840
因此闭环系统的传递函数为
系统1为:
,系统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);
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
%
kosi=[0.1:
1.0];
w=logspace(-1,1,100);
num=[wn.^2];
den=[12*kos*wnwn.^2];
[mag,pha,w1]=bode(num,den,w);
subplot(2,1,1);
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];