被控对象:function dx=liuxiaomodel(t,x)
a1=-10;
a2=10;
a3=00;
l=05;
j1=10;
j2=10;
j3=20;
delta_1=05x(2)+15sign(x(2));
delta_2=05x(4)+15sign(x(4));
delta_3=05x(6)+15sign(x(6));
dx=zeros(9,1);
dx(1)=x(2);
dx(2)=1/j1(a1x(4)x(6)-lx(4)+x(7)+delta_1);
dx(3)=x(4);
dx(4)=1/j2(a2x(2)x(6)-lx(2)+x(8)+delta_2);
dx(5)=x(6);
dx(6)=1/j3(a3x(2)x(4)+x(9)+delta_3);
dx(7)=0;
dx(8)=0;
dx(9)=0;
dx=[dx(1);dx(2);dx(3);dx(4);dx(5);dx(6);dx(7);dx(8);dx(9)];
end
clear
tic
ts=001;
kk=1000;
tt=0:ts:ts(kk-1);
x10=001;
x20=00;
x30=001;
x40=00;
x50=001;
x60=00;
gamma=-500;
thea_10=05;
thea_20=05;
thea_30=05;
for ii=1:1:kk
xd=sin(pits(ii-1));
dxd=picos(pits(ii-1));
ddxd=-1pipisin(pits(ii-1));
e10=x10-xd;
de10=x20-dxd;
q10=dxd-15e10;
dq10=ddxd-15de10;
s10=de10+15e10;
e30=x30-xd;
de30=x40-dxd;
q30=dxd-15e30;
dq30=ddxd-15de30;
s30=de30+15e30;
e50=x50-xd;
de50=x60-dxd;
q50=dxd-15e50;
dq50=ddxd-15de50;
s50=de50+15e50;
thea1p=thea_10+gammadq10s10ts;
thea2p=thea_20+gammadq30s30ts;
thea3p=thea_30+gammadq50s50ts;
% x70=thea1pdq10+x40x60+05x40-15s10-201sign(s10);
% x80=thea2pdq30-x20x60+05x20-15s30-201sign(s30);
% x90=thea3pdq50+x20x40-15s50-201sign(s50);
x70=dq10+x40x60+05x40-15s10-201sign(s10);
x80=dq30+x20x60+05x20-15s30-201sign(s30);
x90=dq50+x20x40-15s50-201sign(s50);
[t,x]=ode45('liuxiaomodel',[(ii-1)ts,iits],[x10;x20;x30;x40;x50;x60;x70;x80;x90]);
[m,n]=size(x);
x10=x(m,1);
x20=x(m,2);
x30=x(m,2);
x40=x(m,2);
x50=x(m,2);
x60=x(m,2);
% thea_10=thea1p;
% thea_20=thea2p;
% thea_30=thea3p;
out1(ii)=x10;
out2(ii)=x20;
out3(ii)=x30;
out4(ii)=x40;
out5(ii)=x50;
out6(ii)=x60;
out7(ii)=x70;
out8(ii)=thea1p;
end
figure(1),plot(tt,out1),grid
figure(2),plot(tt,out3),grid
figure(3),plot(tt,out5),grid
figure(4),plot(tt,out7),grid
figure(5),plot(tt,out8),grid
toc
采用注释部分没有运行结果,如同进入死循环为何?求教!!
>
以上就是关于matlab控制程序仿真,求解全部的内容,包括:matlab控制程序仿真,求解、运用MATLAB编程排队论中M/M/C模型多服务台的模型仿真程序(参考下列仿真程序改成多服务台的)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)