现代控制工程及测试技术Word下载.doc
《现代控制工程及测试技术Word下载.doc》由会员分享,可在线阅读,更多相关《现代控制工程及测试技术Word下载.doc(20页珍藏版)》请在冰豆网上搜索。
![现代控制工程及测试技术Word下载.doc](https://file1.bdocx.com/fileroot1/2022-10/5/c5ac1360-29bb-4093-ac9b-75ac25d777d8/c5ac1360-29bb-4093-ac9b-75ac25d777d81.gif)
figure
(1)
plot(t,y(:
1),'
g-'
t,y(:
2),'
r--'
)
title('
用ode23函数实现微分方程的数值解'
xlabel('
time/sec'
ylabel('
value'
legend('
y'
'
'
grid
%-------第二种方法采用dsolve函数求解-----
t1=0:
0.05:
15
y=dsolve('
D3y+2*D2y+3*Dy+2*y=0.5'
y(0)=0,Dy(0)=0.4,D2y(0)=-0.2'
s=subs(y,t1);
dy=diff(y);
s1=subs(dy,t1);
figure
(2)
plot(t1,s,'
t1,s1,'
用dsolve函数实现微分方程的符号解'
grid
在方法一中将高阶微分方程等效表达成一阶微分方程组的程序如下:
functionxdot=vdpl(t,x)
xdot=zeros(3,1);
xdot
(1)=x
(2);
xdot
(2)=x(3);
xdot(3)=-2.*x(3)-3.*x
(2)-2.*x
(1)+0.5;
程序运行的结果及输出图形如图1.1,图1.2所示:
y=1/4-3/20*exp(-t)+2/35*7^(1/2)*exp(-1/2*t)*sin(1/2*7^(1/2)*t)-1/10*exp(-1/2*t)*cos(1/2*7^(1/2)*t)
dy=3/20*exp(-t)+3/140*7^(1/2)*exp(-1/2*t)*sin(1/2*7^(1/2)*t)+1/4*exp(-1/2*t)*cos(1/2*7^(1/2)*t)
图1.1用ode23函数求微分方程的解及解的一阶导数
图1.2用dsolve函数及diff函数求微分方程的解及解的一阶导数
2.负反馈系统的前向通道和反馈通道传递函数分别为
;
1)求闭环系统的标准传递函数模型,零极点增益模型,状态空间模型;
并将状态空间表达模型转换成可控标准型和可观测标准型。
2)用传递函数模型求系统的单位阶跃响应;
用零极点增益模型求单位斜坡响应;
用状态空间表达模型求单位脉冲响应。
%-------------------------第二题----------------------
sys1=tf([4,16],[1,1,5,20]);
%前向通道传递函数
sys2=zpk([-1],[-3,-5],2);
%反馈通道传递函数
%-------生成标准传递函数模型、零极点增益模型、状态空间模型
disp('
闭环系统的零极点增益模型为:
zpksys=feedback(sys1,sys2)
[num,den]=tfdata(zpksys,'
v'
);
闭环系统的标准传递函数模型为:
tfsys=tf(num,den)
闭环系统的状态空间模型为:
[A,B,C,D]=ssdata(zpksys)
abcdsys=ss(zpksys)
%-------下面将状态控制模型转换成可控标准型和可观测标准型
%-------判断系统是否可控
M=ctrb(A,B);
r1=rank(M);
l1=length(A);
ifr1<
l1
disp('
系统是状态不完全可控的!
else
disp('
系统是状态完全可控的!
将状态空间模型转换为可控标准型:
JA=poly(A);
a4=JA
(2);
a3=JA(3);
a2=JA(4);
a1=JA(5);
a0=JA(6);
W=[a1a2a3a41;
a2a3a410;
a3a4100;
a41000;
10000];
%计算变换矩阵T
T=M*W;
Ac=inv(T)*A*T
Bc=inv(T)*B
Cc=C*T
Dc=D
end
%---------判断系统是否可观
V=[C'
A'
*C'
*A'
(A'
)^3*C'
)^4*C'
];
r2=rank(V);
l2=size(A,1);
ifr2<
l2
系统是不完全可观的'
系统是状态完全可观的'
将状态空间模型转换为可观测标准型:
%计算变换矩阵Q
Q=inv(W*V'
Ag=inv(Q)*A*Q
Bg=inv(Q)*B
Cg=C*Q
Dg=D
%-------求系统的单位阶跃响应,单位斜坡响应,单位脉冲响应
0.2:
5;
step(tfsys,t1)%传递函数模型求系统的单位阶跃响应
传递函数模型求系统的单位阶跃响应'
%-------零极点增益模型求单位斜坡响应
%-------转换为求zpksys与1/s乘积的单位阶跃响应
zpk2sys=zpk([],[0],1);
%zpk2sys=1/s
G=series(zpksys,zpk2sys);
t2=0:
step(G,t2);
零极点增益模型求单位斜坡响应'
%------用状态空间模型求单位脉冲响应
t3=0:
figure(3)
impulse(A,B,C,D,1,t3)
状态空间模型求单位脉冲响应'
程序运行的结果如下:
1)闭环系统的零极点增益模型为:
Zero/pole/gain:
4(s+3)(s+4)(s+5)
-----------------------------------------------------
(s+3.332)(s+5.153)(s+2.029)(s^2-1.514s+9.532)
Transferfunction:
4s^3+48s^2+188s+240
-------------------------------------------
s^5+9s^4+28s^3+83s^2+275s+332
A=
0.75682.9931-0.79161.47410
-2.99310.7568-0.35220.65580
00-5.15332.14790
000-3.33162.0000
0000-2.0288
B=
0
4
C=
3.22690-0.26850.50000
D=
Ac=
-0.00001.0000-0.0000-0.0000-0.0000
-0.00000.00001.00000.00000.0000
-0.00000.00000.00001.00000.0000
0.00000.00000.00000.00001.0000
-332.0000-275.0000-83.0000-28.0000-9.0000
Bc=
0.0000
-0.0000
1.0000
Cc=
240.0000188.000048.00004.00000
Dc=
系统是状态完全可观的
Ag=
0.0000-0.00000.0000-0.0000-332.0000
1.0000-0.00000.0000-0.0000-275.0000
0.00001.00000.00000.0000-83.0000
0.0000-0.00001.00000.0000-28.0000
0.0000-0.00000.00001.0000-9.0000
Bg=
240.0000
188.0000
48.0000
4.0000
-0.0000
Cg=
0.0000-0.00000.0000-0.00001.0000
Dg=
2)运行结果如图2.1、图2.2、图2.3所示:
图2.1传递函数模型求系统的单位阶跃响应
图2.2零极点增益模型求单位斜坡响应
图2.3状体空间模型求单位脉冲响应
3.设反馈系统的开环传递函数为
1)绘制系统的根轨迹。
2)确定系统稳定时的值范围。
%----------第三题------------
clearall
closeall
num=[11];
den=conv(conv([1,0],[1,-1]),[1,4,16]);
G=tf(num,den)
rlocus(G)%求系统的根轨迹
实轴'
虚轴'
titl