计算机辅助控制综合实验报告Word文档下载推荐.docx
《计算机辅助控制综合实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机辅助控制综合实验报告Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。
![计算机辅助控制综合实验报告Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/2/764d9a56-fbfd-4767-94a5-492dbbe4a6f2/764d9a56-fbfd-4767-94a5-492dbbe4a6f21.gif)
试设计单位速度输入时的有限拍控制器。
2)某一离散控制系统的被控队形的传递函数为:
试设计单位速度输入时的有限拍无纹波控制器。
9.用函数调用的方法,求出
,要求写出脚本式M文件和函数式M文件
10.找出101——n之间的满足
(1)它是完全平方数;
(2)在满足完全平方数的前提下,有两位数字相同。
统计满足条件的数的个数。
11通过键盘输入一个整数,将该数变成按相反顺序的数,例如12345变成54321
1.num=25;
den=conv([1,0],conv([0.25,1],[0.0125,1]));
G=tf(num,den);
[Gm,Pm,Wcg,Wcp]=margin(G);
Pm(γ)
w=0.1:
0.1:
10000;
[mag,phase]=bode(G,w);
magdb=20*log10(mag);
phim1=45;
deta=10;
phim=phim1-Pm+deta;
bita=(1-sin(phim*pi/180))/(1+sin(phim*pi/180));
n=find(magdb+10*log10(1/bita)<
=0.0001);
magdb+10*log10(1/bita)<
=0.0001
wc=n
(1);
w1=(wc/10)*sqrt(bita);
w2=(wc/10)/sqrt(bita);
numc=[1/w1,1];
denc=[1/w2,1];
Gc=tf(numc,denc);
GmdB=20*log10(Gm);
GcG=Gc*G;
[Gmc,Pmc,wcgc,wcpc]=margin(GcG);
GmcdB=20*log10(Gmc);
disp('
未校正系统的开环传递函数和频域响应参数:
h,γ,wc'
)
G,[GmdB,Pm,Wcp],
校正装置传递函数和校正后系统开环传递函数'
Gc,GcG,
校正后系统的频域响应参数:
[GmcdB,Pmc,wcpc],
校正装置的参数T和β值:
T,β'
T=1/w1;
[T,bita],
bode(G,GcG);
figure
(2);
margin(GcG)
h,γ,wc
Transferfunction:
25
-----------------------------
0.003125s^3+0.2625s^2+s
ans=
10.526815.85789.5715
校正装置传递函数和校正后系统开环传递函数
0.1481s+1
-------------
0.03348s+1
3.703s+25
-------------------------------------------
0.0001046s^4+0.01191s^3+0.296s^2+s
16.201045.023914.0770
T,β
0.14810.2261
2.num=25;
den=conv([1,0],[0.25,1]);
den=conv(den,[0.125,1]);
gamma_cas=50;
delta=6;
gamma_l=gamma_cas+delta;
w=0.01:
0.01:
1000;
n=find(180+phase-(gamma_l)<
=0.1);
wgamma_l=n
(1)/100;
[mag,phase]=bode(G,wgamma_l);
rr=-20*log10(mag);
beta=10^(rr/20);
w2=wgamma_l/10;
w1=beta*w2;
numc=[1/w2,1];
denc=[1/w1,1];
Gc=tf(numc,denc)
GcG=Gc*G
bode(G,GcG),figure
(2),margin(GcG),beta
6.061s+1
-----------
83.14s+1
151.5s+25
-------------------------------------
2.598s^4+31.21s^3+83.51s^2+s
beta=
0.0729
3.num=100;
den=conv([1,0],[1,4]);
[h,gamma,wg,wc]=margin(G);
h=20*log10(h);
w=0.001:
0.001:
100;
未校正系统的参数:
h,wc,γ'
);
[h,wc,gamma],
gamma1=45;
phim=gamma1-gamma+delta;
alpha=(1+sin(phim*pi/180))/(1-sin(phim*pi/180));
n=find(magdb+10*log10(alpha)<
wcc=wc/1000;
w3=wcc/sqrt(alpha);
w4=sqrt(alpha)*wcc;
numc1=[1/w3,1];
denc1=[1/w4,1];
Gc1=tf(numc1,denc1);
w1=wcc/10;
w2=w1/alpha;
numc2=[1/w1,1];
denc2=[1/w2,1];
Gc2=tf(numc2,denc2);
Gc12=Gc1*Gc2;
GcG=Gc12*G;
disp('
超前校正部分的传递函数'
),Gc1,
滞后校正部分的传递函数'
),Gc2,
串联超前-滞后校正网络的传递函数'
),Gc12,
校正后系统的开环传递函数'
),GcG,
校正后系统的性能参数:
h,wc,γ及α值'
),[GmcdB,wcpc,Pmc,alpha],
bode(G,GcG)
h,wc,γ
Inf9.608122.6028
超前校正部分的传递函数
0.1326s+1
0.04714s+1
滞后校正部分的传递函数
0.7907s+1
------------
2.225s+1
串联超前-滞后校正网络的传递函数
0.1049s^2+0.9233s+1
-------------------------
0.1049s^2+2.272s+1
校正后系统的开环传递函数
10.49s^2+92.33s+100
----------------------------------------
0.1049s^4+2.691s^3+10.09s^2+4s
h,wc,γ及α值
Inf6.124348.66362.8137
4.num=1;
den=[110];
gsys=tf(num,den);
dsysg=c2d(gsys,2,'
zoh'
dsysg=0.01*dsysg;
sysw=d2c(dsysg,'
tustin'
margin(sysw);
[Gm,Pm,Wcg,Wcp]=margin(sysw)
G=sysw;
gamma_cas=40;
控制器W传递函数'
校正后系统的开环W传递函数'
运行结果:
Gm=2.0033e+004
Pm=Inf
Wcg=14.1539
Wcp=NaN
控制器W传递函数
10.42s+1
0.07828s+1
校正后系统的开环W传递函数
-4.34e-009s^3-0.00052s^2+0.1041s+0.01
----------------------------------------------
0.07828s^3+1.078s^2+s+1.11e-013
5.num=1;
6.A=[100;
02-2;
-1-10]
B=[2;
0;
1]
C=[120]
D=[0]
n=length(A);
Q=ctrb(A,B);
m=rank(Q);
ifm==n
Ac1=inv(Q)*A*Q;
Bc1=inv(Q)*B;
Cc1=C*Q;
disp('
Systemiscontrollable.'
SystemFirstControllableCanonnicalFormis:
'
Ac1,Bc1,Cc1
TheTransformationMartrixis:
Q
else
systemstateVariablecannotbetotallycontrolled'
TherankofSystemControllableMartixis:
m
end
Q=obsv(A,C);
P=inv(Q);
Ao1=inv(P)*A*P;
Bo1=inv(P)*B;
Co1=C*P;
SystemisObservable.'
SystemFirstObservableCanonnicalFormis:
Ao1,Bo1,Co1
P
else
systemstateVariablecannotbetotallyObserved'
TherankofSystemObservableMartixis:
m
原系统的极点为'
p=eig(A)'
P=[-2,-3.4+sqrt(5.92),-3.4-sqrt(5.92)];
K=place(A,B,P)
配置后系统的极点为'
p=eig(A-B*K)'
极点配置后的闭环系统为'
sysnew=ss(A-B*K,B,C,D)
step(sysnew/dcgain(sysnew))
Systemiscontrollable.
TheTransformationMartrixis:
Q=
222
0-20
1-20
Ac1=
00-2
100
013
Bc1=
1
0
Cc1=
2-22
SystemisObservable.
P=
-2.0000-2.00001.0000
1.50001.0000-0.5000
1.00000.2500-0.2500
Ao1=
0.00001.0000-0.0000
-0.0000-0.00001.0000
-2.0000-0.00003.0000
Bo1=
2.0000
-2.0000
Co1=
1.000000
原系统的极点为
p=
-0.73212.73211.0000
K=
86.6000220.6800-161.4000
配置后系统的极点为
-5.8331-2.0000-0.9669
极点配置后的闭环系统为
a=
x1x2x3
x1-172.2-441.4322.8
x202-2
x3-87.6-221.7161.4
b=
u1
x12
x20
x31
c=
y1120
d=
y10
Continuous-timemodel.
7.
8.1)symssTKztk
Gs=(1/s)*K/s/(s+3);
ft=ilaplace(Gs);
ftt=subs(ft,t,k*T);
GoGpZ=(1-z^-1)*ztrans(ftt);
GoGpZ=simplify(GoGpZ);
Ez=(1-z^-1)^2;
Dcz=(1-Ez)/(Ez*GoGpZ);
Dcz=simplify(Dcz);
Dcz=subs(Dcz,T,0.5);
Dcz=subs(Dcz,K,5);
[dnum,dden]=numden(Dcz);
dnum=sym2poly(dnum);
dden=sym2poly(dden);
单位速度输入时的有限拍控制器Dc(z)='
[zpk]=tf2zp(dnum,dden);
Dcz=zpk(z,p,k)
系统脉冲传递函数D(z)=C(z)/R(z)'
Dz=1-Ez;
Dz=simplify(Dz)
单位速度输入时的有限拍控制器?
Dc(z)=
Zero/pole/gain:
4.9784(s-0.5)(s-0.2231)
(s-1)(s+0.6115)
系统脉冲传递函数D(z)=C(z)/R(z)
Dz=
(2*z-1)/z^2
2)symssTKzt
ftt=subs(ft,t,t*T);
GoGpZ=subs(GoGpZ,T,0.5);
GoGpZ=subs(GoGpZ,K,5);
[dnum,dden]=numden(GoGpZ);
广义对象的z传递函数GoGp(z)='
GoGpZ=zpk(z,p,k,0.1)
广义对象的z传递函数GoGp(z)=
0.40174(z+0.6115)
------------------
(z-1)(z-0.2231)
Samplingtime:
0.1
9.脚本式s=0;
n=input('
n='
fori=1:
n
s=s+fact(i);
end
函数式functionp=fact(intn)
p=1;
p=p*i;
10.count=0;
n=input('
fori=101:
m=floor(sqrt(i));
ifm*m==i;
ifrem(i,10)==rem(floor(i/10),10)|rem(i,10)==floor(i/100)|rem(floor(i/10),10)==floor(i/100);
count=count+1;
count
11.s=0;
whilen~=0
s=s*10+rem(n,10);
n=floor(n/10);
fprintf('
按逆序后的数为%d'
s);