📄 009.m
字号:
clear
clc
A=[-0.03 0.01 0.01;-0.05 -0.15 0.05;-0.09 0.03 -0.17];
B=[0;0;1];
C=[0 0 1];
D=[7 1 1];
x=[0;0;1];
err=0.1;
X=[];U=[];Y=[];E=[];T=[];S=[];
t0=0;ts=0.001;tf=10;
for t=t0:ts:tf
s=D*x;
% k=0.5; %case1
% uncertaintyA=[0 0 -0.03;0 0 0;0 0 0];
% k=norm(uncertaintyA)+1; %case2
w=[0;0.5*sin(pi*t);0];
k=norm(w)+1; %case3
u0=-inv(D*B)*D*A*x;
us=-(0.7*abs(x(1))+0.1*abs(x(2))+0.52*abs(x(3))+0.5)*sat1(s,err);
u=u0+us;
% xdot=A*x+B*u; %case1
% xdot=(A+uncertaintyA)*x+B*u; % case2
xdot=A*x+B*u+w; %case3
x=x+xdot*ts;
y=C*x;
X=[X x];T=[T t];S=[S s];U=[U u]; Y=[Y y];
end
figure(1)
subplot(311);plot(T,X(1,:),'green');grid on;xlabel('Time');ylabel('X1');hold on;legend('case1','case2','case3');
subplot(312);plot(T,X(2,:),'green');grid on;xlabel('Time');ylabel('X2');hold on;legend('case1','case2','case3');
subplot(313);plot(T,X(3,:),'green');grid on;xlabel('Time');ylabel('X3');hold on;legend('case1','case2','case3');
figure(2)
subplot(311);plot(T,U,'green');grid on;xlabel('Time');ylabel('U');hold on;legend('case1','case2','case3');
subplot(312);plot(T,S,'green');grid on;xlabel('Time');ylabel('S');hold on;legend('case1','case2','case3');
subplot(313);plot(T,Y,'green');grid on;xlabel('Time');ylabel('Y');hold on;legend('case1','case2','case3');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -