自动控制MATLABWord文档格式.docx
《自动控制MATLABWord文档格式.docx》由会员分享,可在线阅读,更多相关《自动控制MATLABWord文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
Gp=zpk(z,p,k)
fprintf('
residue:
'
);
[r1p1k1]=residue(num,den)
Gc=c2d(Gs,1)
显示结果:
Zero/pole/gain:
(s+1)^2
-----------------
(s+3)(s+2)(s+1)
r1=
2.0000
-1.0000
0
p1=
-3.0000
-2.0000
k1=
[]
Transferfunction:
0.2011z^2-0.1382z+0.02362
--------------------------------------
z^3-0.553z^2+0.07484z-0.002479
Samplingtime:
1
2、已知系统结构图如图所示,①用Matlab软件编程求出闭环系统的传递函数C(s)/R(s);
②用Simulink建立仿真图,并用示波器观察系统在单位阶跃输入时的响应。
Clear
Clc
y1=tf([1],[11]);
y2=tf([1],[12]);
y3=tf([12],[145]);
y4=tf([1],[13]);
Gs=feedback(series(y1,parallel(y2,y3)),y4)
显示结果:
2s^3+14s^2+33s+27
------------------------------------------
s^5+10s^4+40s^3+82s^2+87s+39
Siumlink仿真图:
结果:
实验二线性系统的时域分析
2014-12-22
一、实验目的
1.熟悉Matlab的基本操作;
2.掌握利用Matlab对系统进行时域分析和设计的方法;
3.熟悉利用Simulink仿真对系统进行时域分析的方法;
4.能够根据所得结果对系统进行性能分析。
二、实验内容
1、已知二阶系统的闭环传递函数为:
利用Matlab中的函数,求ζ分别为0,0.7,1,2时系统的单位阶跃响应,并利用所求结果分析阻尼比ζ对系统性能的影响。
程序清单:
clear
clc
s=[00.712];
j=0:
0.01:
10;
fori=0:
1:
3
%Gs=tf([16],[1s(i+1)*816]);
yy=step([16],[1s(i+1)*816],j);
plot(j,yy);
holdon
end
2、系统结构图如图所示,用Matlab中的函数,
(1)求该系统的单位阶跃响应和单位斜坡响应(图形显示);
(2)求单位阶跃输入和单位斜坡响应时的稳态误差;
(3)分析该系统的稳定性。
(4)试利用Simulink仿真实现以上问题的求解。
(1)、程序清单:
Gs=feedback(series(y1,parallel(y2,y3)),y4);
t=0:
Gstep=step(Gs.num{1},Gs.den{1},t);
%单位阶跃
plot(t,Gstep,'
r'
Gt=lsim(Gs.num{1},Gs.den{1},t,t);
%单位斜坡
plot(t,Gt,'
b'
legend('
step'
'
t'
(2)、程序清单:
Gsteper=Gstep(length(t))
Gter=Gt(length(t))-1
Gsteper=
0.6923
Gter=
5.2249
分析从
(1)的图形可看出:
脉冲响应的稳态误差为:
0.629;
单位阶跃响应稳定为:
正无穷大;
(3)、程序清单:
x=roots(Gs.den{1})%分母系数矩阵
len=length(x);
flag=0;
fori=1:
len
if(x(i)<
0)
flag=1;
else
flag=0;
break;
end
if(0==flag)
fprintf('
不稳定系统。
\n'
else
稳定系统。
x=
-3.4656
-1.7672+0.7926i
-1.7672-0.7926i
-1.5000+0.8660i
-1.5000-0.8660i
分析:
系统稳定。
(4)、阶跃响应:
系统稳定,稳态误差为约为0.7;
2、单位斜坡响应:
稳态误差为正无穷。
3、设单位负反馈系统的开环传递函数为:
,
(1)对该系统进行仿真,分析其动态性能();
(2)忽略系统闭环零点,对系统动态性能进行仿真,分析仿真结果。
100;
Gs=tf([0.41],conv([10],[10.6]))
[num,den]=cloop([0.41],conv([10],[10.6]));
ys=step(num,den,t);
plot(t,ys);
flag=1;
max=0;
Tp=0;
T1=ys(length(ys))*(1+0.05);
T2=ys(length(ys))*(1-0.05);
length(ys)
if(ys(i)>
max)
max=ys(i);
Tp=t(i);
end
Ts=0;
forj=length(ys):
-1:
1
if(ys(j)>
=T1||ys(j)<
=T2)
Ts=t(j);
yc=(max-ys(length(ys)))/ys(length(ys));
超调量为:
%f\n'
yc);
上升时间为:
Tp);
调节时间为:
Ts);
0.4s+1
-----------
s^2+0.6s
0.179946
3.160000
4.870000
4、试作出以下系统的单位阶跃响应曲线,并与原系统的响应曲线进行比较,并对实验结果进行分析。
clear
s=0:
1;
y0=step([10],[1210],s);
y1=step([210],[1210],s);
y2=step([10.510],[1210],s);
y3=step([10.50],[1210],s);
y4=step([10],[1210],s);
plot(s,y0,'
plot(s,y1,'
plot(s,y2,'
y'
plot(s,y3,'
k'
plot(s,y4,'
m'
G0'
'
G1'
G2'
G3'
G4'
xlabel('
s'
ylabel('
5、已知系统的开环传递函数为:
,求该系统的单位阶跃输入及单位斜坡输入下的稳态误差。
答:
numk=[25];
denk=conv([1],[13]);
Gk=tf(numk,denk);
[numden]=cloop(numk,denk);
传递函数为:
Gs=tf(num,den)
0.5;
ys=step(Gs,t);
plot(t,ys,'
yt=lsim(num,den,t,t);
plot(t,yt,'
单位阶跃输入稳态误差:
erstep=ys(length(t))-1
单位斜坡输入下的稳态误差:
)
ert=yt(length(t))-length(t)
25
------
s+28
erstep=
-0.1071
ert=
-50.5855
实验三线性系统的根轨迹分析
12-25
1、实验目的
2.掌握利用Matlab函数实现系统根轨迹的绘制及设计的方法。
3.能够根据所得结果对系统进行性能分析。
1、已知单位负反馈系统的开环传递函数为:
(1)试画出K=0→∞时的闭环系统根轨迹