📄 calcu.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 + -