文档库 最新最全的文档下载
当前位置:文档库 › 《控制系统仿真与CAD》

《控制系统仿真与CAD》

《控制系统仿真与CAD》
《控制系统仿真与CAD》

实验一Matlab使用方法和程序设计

二、实验内容

6、基本程序设计

(1)编写命令文件:计算1+2+…+n<2000时的最大n值;

n=0;s=0;

while s<2000

n=n+1;

s=s+n;

end

n=n-1

(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n 次幂的和。

(2.1)function [sum]=mi(n)

sum=0;

for m=0:n

sum=sum+2^m;

end

(2.2)function [sum]=miwhile(n)

sum=0;m=0;

while m<=n

sum=sum+2^m;

m=m+1;

end

(3)如果想对一个变量x自动赋值。当从键盘输入y或Y时(表示是),x 自动赋为1;当从键盘输入n或N时(表示否),x自动赋为0;输入

其他字符时终止程序。

s=input('please input a key:','s')

while(s=='n'||s='N'||s=='y'||s='Y')

if(s=='y'||s='Y')

clc;

x=1;

disp('x=');

disp(x);

else(s=='n'||s='N')

clc;

x=0;

disp('x=');

disp(x);

end

s=input('please input a key','s')

clc;

end

实验二控制系统分析(一)

二、实验内容

1、时域分析

(1)根据下面传递函数模型:绘制其单位阶跃响应曲线并从图上读取最大超调量,绘制系统的单位脉冲响应、零输入响应曲线。

num=5*[1 ,5 ,6];

den=[1, 6 ,10, 8];

sys=tf(num,den);

step(sys)

figure(2)

sys1=ss(sys);

x0=[1;0;0];

initial(sys1,x0)

(2)典型二阶系统传递函数为:

当ζ=0.7,ωn取2、4、6、8、10、12的单位阶跃响应。

zet=0.7;wn=[2,4,6,8,10,12];

hold on

for i=1:length(wn)

sys=tf(wn(i)^2,[1,2*zet*wn(i),wn(i)^2]);

step(sys)

end

(3)典型二阶系统传递函数为:

当ωn =6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。

wn=6;zet=[0.2,0.4,0.6,0.8,1.0,1.5,2.0];

hold on

for i=1:length(zet)

sys=tf(wn^2,[1,2*zet(i)*wn,wn^2]);

step(sys)

end

2、频域分析

(1)典型二阶系统传递函数为:

当ζ=0.7,ωn取2、4、6、8、10、12的伯德图。

zet=0.7;wn=[2,4,6,8,10,12];

hold on

for i=1:length(wn)

sys=tf(wn(i)^2,[1,2*zet*wn(i),wn(i)^2]);

bode(sys)

end

(2)典型二阶系统传递函数为:

当ωn =6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的伯德图。

wn=6;zet=[0.2,0.4,0.6,0.8,1.0,1.5,2.0];

hold on

for i=1:length(zet)

sys=tf(wn^2,[1,2*zet(i)*wn,wn^2]);

bode(sys)

end

3、根轨迹分析

根据下面负反馈系统的开环传递函数,绘制系统根轨迹,并分析系统稳定的K值范围。

sys=tf(1,[1, 3, 2 ,0])

rlocus(sys)

[x,y]=ginput(1)

p=x+y*i

k=rlocfind(sys,p)

实验三控制系统分析(二)

二、实验内容

1、系统稳定性分析

(1)代数法稳定性判据:(用求分母多项式的根和routh函数两种方法来判定)

已知系统的开环传递函数为:

试对系统闭环判别其稳定性

k=100;

p=[0,-1,-20];

z=-2;

sys=zpk(z,p,k)

sys=tf(sys)

G_c=feedback(sys,1);%转换为闭环传递函数

roots(G_c.den{1})%求闭环特征方程的根

[rtab,msg]=routh(G_c.den{1})

(2)根轨迹法判断系统稳定性:

已知一个单位负反馈系统开环传递函数为:

试在系统的闭环根轨迹图上选择一点,求出该点的增益及其系

统的闭环极点位置,并判断在该点系统闭环的稳定性。

sys=tf([1,3],conv(conv([1,0],[1,5]),conv([1,6],[1,2,2])))

rlocus(sys)

[K,poles]=rlocfind(sys)

(3)Bode图法判断系统稳定性:

已知两个单位负反馈系统的开环传递函数分别为:

用Bode图法判断系统闭环的稳定性。

sys1=tf(2.7,[1 5 4 0])

margin(sys1);%画出波特图

[Gm,Pm,Wcg,Wcp]=margin(sys1)

G_c=feedback(sys,1)

step(G_c)%验证阶跃响应是否稳定

grid

2、系统能控性、能观性分析

已知连续系统的传递函数模型,

当α分别取-1,0,+1时,判别系统的能控性与能观性[A,B,C,D]=tf2ss([1,-1],[1,10,27,18])%取0,1时同理

Tc=ctrb(A,B)

rank(Tc)

To=obsv(A,C)

rank(To)

实验四古典控制系统设计---根轨迹法

二、实验内容

1、根据二阶系统如图所示,其中ζ=0.6,ωn=5rad/s,当有一阶

跃信号作用于系统时,试计算特征量 tr、tp、ts、σp。

sys=tf([25],[1,6,0]);

G=feedback(sys,1)

[pos,tr,ts,tp]=stepchar(G,0.02)

2、设单位负反馈系统的开环传递函数为:

试确定带惯的PD控制器的串联超前校正参数,使之满足:(1)阶跃响应的超调量:σ≤30%;

(2)阶跃响应的超调时间:ts≤0.8 s(Δ=0.02)。

KK=5;bp=0.30;ts=0.8;delta=0.02;

ng0=[256];dg0=conv([1,0],conv([1,8],[1,16]));

g0=tf(ng0,dg0);%原系统开环传递函数

s=bpts2s(bp,ts,delta);%转换成闭环主导极点

[ngc,dgc]=rg_lead(ng0,dg0,s);%计算出校正系统的传递函数

gc=tf(ngc,dgc)

g0c=tf(g0*gc);%校正后系统

b1=feedback(g0,1);

b2=feedback(KK*g0c,1);%给校正后的闭环系统增加开环增益figure(4);

step(b1,'r--',b2,'b');grid on

[pos,tr,ts,tp]=stepchar(b2,delta) %计算性能指标,如果不满足,修改KK值

相关文档