实验二控制系统建模与分析.docx
- 文档编号:8642083
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:12
- 大小:135.49KB
实验二控制系统建模与分析.docx
《实验二控制系统建模与分析.docx》由会员分享,可在线阅读,更多相关《实验二控制系统建模与分析.docx(12页珍藏版)》请在冰豆网上搜索。
实验二控制系统建模与分析
实验二控制系统建模与分析
一、实验目的
熟悉MATLAB对控制系统的建模以及时域和频域的分析函数。
二、实验题目
1.表示下列传递函数模型,并转化成其他的数学模型
(1)实验代码
num1=conv(conv([48],[166]),[166]);
den1=conv(conv(conv([13250],[11]),[11]),[11]);
G1=tf(num1,den1);
[z,p,k]=tf2zp(num1,den1);
G1zpk=zpk(z,p,k)
[A1,B1,C1,D1]=tf2ss(num1,den1)
执行结果
G1zpk=
4(s+4.732)^2(s+2)(s+1.268)^2
--------------------------------------------
s(s+2.904)(s+1)^3(s^2+0.09584s+1.722)
Continuous-timezero/pole/gainmodel.
A1=
-6-14-21-24-17-50
1000000
0100000
0010000
0001000
0000100
0000010
B1=
1
0
0
0
0
0
0
C1=
0456288672720288
D1=
0
(2)实验代码
num2=[4-2];
den2=[1025];
G2=tf(num2,den2);
[A2B2C2D2]=tf2ss(num2,den2)
[z,p,k]=tf2zp(num2,den2);
G2zpk=zpk(z,p,k)
执行结果
A2=
0-2-5
100
010
B2=
1
0
0
C2=
04-2
D2=
0
G2zpk=
4(s-0.5)
--------------------------------
(s+1.328)(s^2-1.328s+3.764)
Continuous-timezero/pole/gainmodel.
(3)实验代码
num3=1;
den3=conv([21],[12]);
G3=tf(num3,den3)
[A3B3C3D3]=tf2ss(num3,den3)
[z,p,k]=tf2zp(num3,den3);
G3zpk=zpk(z,p,k)
执行结果
G3=
1
---------------
2s^2+5s+2
Continuous-timetransferfunction.
A3=
-2.5000-1.0000
1.00000
B3=
1
0
C3=
00.5000
D3=
0
G3zpk=
0.5
-------------
(s+2)(s+0.5)
Continuous-timezero/pole/gainmodel.
(4)实验代码
A4=[01;-1-2];
B4=[0;1];
C4=[01];
D4=0;
[z,p,k]=ss2zp(A4,B4,C4,D4);
G4zpk=zpk(z,p,k)
[num4,den4]=ss2tf(A4,B4,C4,D4);
G4tf=tf(num4,den4)
执行结果
G4zpk=
s
-------
(s+1)^2
Continuous-timezero/pole/gainmodel.
G4tf=
s
-------------
s^2+2s+1
Continuous-timetransferfunction.
2.一个系统的结构框图如下所示。
(1)试绘出系统闭环的根轨迹图;并在根轨迹图上任选一点,试计算该点的增益k及其所有极点的位置;
(2)试绘出系统的bode图,并计算系统的幅值裕量和相角裕量,并给出几种方法判断系统的稳定性。
(1)实验代码
Gk=tf([10.5],[10.1])*tf(20,conv([120],[110]));
G=1.5*feedback(Gk,1)
subplot(2,2,1)
step(G)
subplot(2,2,2)
rlocus(Gk*1.5)
[kpoles]=rlocfind(Gk*1.5)
subplot(2,2,3)
bode(G)
执行结果
G=
30s+15
-------------------------------------
s^4+12.1s^3+21.2s^2+22s+10
Continuous-timetransferfunction.
Selectapointinthegraphicswindow
selected_point=
-31.1364+0.0000i
k=
647.5091
poles=
-31.1364+0.0000i
9.7683+22.9842i
9.7683-22.9842i
-0.5001+0.0000i
(2)由bode图(放大图如下图所示)可知,系统的相角裕量:
相角裕度:
=42.6g
在命令窗口输入命令:
[Gm,Pm,Wcm,Wcp]=margin(G) 可以求出幅值裕度:
Gm= 5.4038
第一种方法求分母多项式的根
实验代码
G1=tf(Gk*1.5)
roots(G1.den{1})
执行结果
ans=
0
-10.0000
-2.0000
-0.1000
由此可知系统临界稳定
第二种方法bode图求相角裕量
相角裕度:
=42.6
第三种方法求矩阵A的特征值
ans=
-10.2283+0.0000i
-0.5261+0.9572i
-0.5261-0.9572i
-0.8195+0.0000i
相角裕度大于零稳定
3.已知系统传递函数为:
(1)绘出系统在阶跃信号为0.11(t)时的响应曲线,并求系统性能指标:
稳态值、上升时间、调节时间、超调量。
(2)绘出离散化系统在阶跃信号为0.11(t)时的响应曲线,采样周期为T=0.3秒。
实验代码
sys=tf([20],[18364020]);
step(0.1*sys)
holdon
[pos,tr,ts,yss]=stepchar(0.1*sys,0.02)
sys1=c2d(sys,0.3)
step(0.1*sys1)
执行结果
pos=
2.6199
tr=
4.5940
ts=
6.7517
yss=
0.0999
sys1=
0.004074z^3+0.02648z^2+0.01603z+0.0009526
--------------------------------------------------
z^4-1.902z^3+1.268z^2-0.4099z+0.09072
Sampletime:
0.3seconds
Discrete-timetransferfunction.
4.对于教材例9.4.3中引用了构造Routh判据的列表程序,在运行时发现当劳斯表出现全零行和第一列元素为零时,程序有错误。
改正并完善此程序。
原routh函数见教材p374.
实验代码
function[rtab,info]=routh(den)
ifany(den<=0)
disp('Unstable')
rtab=[];
info=[];
return
else
info=[];
vec1=den(1:
2:
length(den));
nrT=length(vec1);
vec2=den(2:
2:
length(den));
%?
vec2=[vec2,zeros(1,length(vec1)-length(vec2))];?
?
?
rtab=[vec1;vec2,zeros(1,nrT-length(vec2))];
fork=1:
length(den)-2
alpha(k)=vec1
(1)/vec2
(1);
fori=1:
length(vec1)-1
a3(i)=rtab(k,i+1)-alpha(k)*rtab(k+1,i+1);
end
%出现全零行?
ifsum(abs(a3))==0
vec3=zeros(1,length(den)-size(rtab,1)+1);
vec3(1:
2:
end)=vec2(1:
end);
a3=polyder(vec3);info=[info,'all?
elements?
?
in?
row',int2str(k+2),'are?
zeros;'];%第一列出现0?
elseifabs(a3
(1)) a3 (1)=0.000001; info=[info,'replaced? ? first? ? element;']; end rtab=[rtab;a3,zeros(1,nrT-length(a3))]; vec1=vec2; vec2=a3; end end 在matlab命令窗口输入 den=[1-234] [rtab,info]=routh(den) 执行结果 Unstable rtab= []
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 控制系统建模与分析 实验 控制系统 建模 分析