⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calcu.m

📁 汽车纵向的模糊控制器
💻 M
字号:
function output = calcu(param)
%param(1)=0;
%param(2)=0;

x1=param(1)-20;
x2=param(2);
x=[x1 x2];

n=5;
Dim=2;
% c=0.44;
% d=325;
% l=0.2;
% M=1000;
X = repmat(x',1,n);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%
C=[-20 -10  0 10 20;...
   0 522.8 996.7 3750 5000];
O=[4.248 4.248 1 4.248 4.248;...
   530.9  292 406 530.9 530.9];
S=exp(-(X-C).^2./O.^2);%%%%%%%%%%%%%%%%输入隶属度函数

S1=[1.0 0.4 0 0 0 0 0 0 0 0 0];
S2=[0 0.4 1 0.3 0 0 0 0 0 0 0];
M1=[0 0 1 1 0 0 0 0 0 0 0];
M2=[0 0 0 0.5 1 0 0 0 0 0 0];
M3=[0 0 0 0 0 0.5 1 0 0 0 0];
L3=[0 0 0 0 0 0 0 0 1 0.6 0];
L4=[0 0 0 0 0 0 0 0 0 0 1];%%%%%%%%%%%%%输出隶属函数
Uy=[0 200 400 600 800 1000 1500 2000 3000 4000 5000];

for i1=1:n
    for i2=1:n
         a(i1,i2)=min(S(1,i1),S(2,i2));
    end
end

for i=1:n^Dim
      j=mod(i,5);
      if j==0
         j=5;
      end
      k=(i-j)/5+1;
        
      a(i)=min(S(1,k),S(2,j));
end

      B1=a(1)*L4;
      B2=a(2)*L4;
      B3=a(3)*L4;
      B4=a(4)*L4;
      B5=a(5)*L4;%%%%%%%%%%%%%%%%%%%
      B6=a(6)*L4;
      B7=a(7)*L4;
      B8=a(8)*L4;
      B9=a(9)*L4;
      B10=a(10)*L4;%%%
      B11=a(11)*M1;
      B12=a(12)*M1;
      B13=a(13)*M1;
      B14=a(14)*M1;
      B15=a(15)*M1;%%%
      B16=a(16)*S1;
      B17=a(17)*S1;
      B18=a(18)*S1;
      B19=a(19)*S1;
      B20=a(20)*S1;%%%%%%%%%%%%%%%%%%
      B21=a(21)*S1;
      B22=a(22)*S1;
      B23=a(23)*S1;
      B24=a(24)*S1;
      B25=a(25)*S1;%%%%%%%%%%%%%%蕴含运算

      
      B=B1+B2+B3+B4+B5+B6+B7+B8+B9+B10+B11+B12+B13+B14+B15+B16+B17+B18+B19+B20+B21+B22+B23+B24+B25;

output=0;
sigma=0;
for l=1:11
     sigma=sigma+B(l);
end
for m = 1:11
     output=output+B(m)*Uy(m);
end
output=output/sigma;
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -