📄 wl.m
字号:
clear all;
h=0.1;t=0.1;N=8000;a1=2;a2=1.4;a3=0.6;
r1=1;r2=1;r3=1;r4=1;
xm10=0;xm20=0;xm30=0;
xp10=0;xp20=0;xp30=0;
u0=0;k0=0;
f10=0;f20=0;f30=0;
e10=0;e20=0;e30=0
k11=0;k12=0;
for i=1:N
k11=xm20;k12=xm20+k11*h;xm1=xm10+(k11+k12)*h/2;
k21=xm30;k22=xm30+k21*h;xm2=xm20+(k21+k22)*h/2;
k31=-xm10-2*xm20-3*xm30+sin(2*t);
k32=-xm10-2*xm20-3*xm30+sin(2*t)+k31*h;
xm3=xm30+(k31+k32)*h/2; %2阶rd法求参考模型
Xm1(i)=xm1;Xm2(i)=xm2;Xm3(i)=xm3;
k11=xp20;k12=xp20+k11*h;xp1=xp10+(k11+k12)*h/2;
k11=xp30;k12=xp30+k11*h;xp2=xp20+(k11+k12)*h/2;
k31=(a1*xp10+a2*xp20+a3*xp30+u0);
k32=(a1*xp10+a2*xp20+a3*xp30+u0)+k31*h;
xp3=xp30+(k31+k32)*h/2; % 2阶rd法求实际模型
Xp1(i)=xp1;Xp2(i)=xp2;Xp3(i)=xp3;
e1=Xm1(i)-Xp1(i);e2=Xm2(i)-Xp2(i);e3=Xm3(i)-Xp3(i);
E1(i)=e1; E2(i)=e2; E3(i)=e3;
f1=f10+h*(0.5*e10+13*e20/10+3*e30/5)*r1*xp1;
f2=f20+h*(0.5*e10+13*e20/10+3*e30/5)*r2*xp2;
f3=f30+h*(0.5*e10+13*e20/10+3*e30/5)*r3*xp3; %F(t)=(f1 f2 f3)
k=k0+h*(0.5*e10+13*e20/10+3*e30/5)*sin(2*t)*r4;
u=k*sin(2*t)+f1*xp1+f2*xp2+f3*xp3;
xm10=xm1;xm20=xm2;xm30=xm3; %倒腾有关量
xp10=xp1;xp20=xp2;xp30=xp3;
k0=k;u0=u;
f10=f1;f20=f2;f30=f3;
e10=e1; e20=e2; e30=e3;
tt(i)=t;t=t+h;
end
figure(1);
plot(tt,E1);
title('E1响应曲线');
figure(2);
plot(tt,E2);
title('E2响应曲线');
figure(3);
plot(tt,E3);
title('E3响应曲线');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -