📄 tsfuzzyp34.asv
字号:
clear;
clc;
a=1;
x(1:2,1)=[0.9 -0.7]';
for t=1:1:30
A1=[1 -0.5
1 0];
A2=[-1 -0.5
1 0];
B1=[1
1];
B2=[-2
1];
F1=[0.65 -0.5];
F2=[0.87 -0.11];
% MBF
% M1 M2
%---------- \ / ----------
% \ /
% \ /
% \
% / \
%------------------------------------
% -a a
%M1
if x(2,t)<=-a; M1=1;end
if x(2,t) > -a;M1=(a-x(2,t))/(a-(-a));end
if x(2,t) > 1 ; M1=0;end
%M2
if x(2,t)<=-a;M2=0;end
if x(2,t) > -a;M2=(x(2,t)+a)/(a-(-a));end
if x(2,t) >= 1 ;M2=1;end
%PDC controller
u=(-((M1*F1*x(1:2,t)+M2*F2*x(1:2,t))/(M1+M2)));
%Dfuzzy
x(1:2,t+1)=( (M1*(A1*x(1:2,t)+B1*u)) +(M2*(A2*x(1:2,t)+B2*u)) ) /(M1+M2);
Power()
end
c=1:1:31;
fi1=figure;set(fi1,'color','white');set(fi1,'name',datestr(now,30));
plot(c,x(1,:),'r','LineWidth',2)
axis([1 20 -0.1 0.9])
xlabel('t'); ylabel('x1(t)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -