Page 55 - Algorithm Collections for Digital Signal Processing Applications using MATLAB
P. 55
1. Artificial Intelligence 43
%Output fuzzy values obtained using framed fuzzy base rule
zfuzzys=max([(min([xfuzzy(1) yfuzzy(3)]))]);
zfuzzym=max([(min([xfuzzy(1) yfuzzy(2)])) (min([xfuzzy(2) yfuzzy(1)]))
(min([xfuzzy(3) yfuzzy(3)]))]);
zfuzzyl=max([(min([xfuzzy(2) yfuzzy(2)])) (min([xfuzzy(2) yfuzzy(3)])) (min([xfuzzy(3)
yfuzzy(1)])) (min([xfuzzy(3) yfuzzy(2)]))]);
%Defuzzification
zs=reshape((quantiz(zsmall,zfuzzys)*2-2)*(-
1/2),1,size(zsmall,2)).*zsmall+quantiz(zsmall,zfuzzys)'.*zfuzzys;
zm=reshape((quantiz(zmedium,zfuzzym)*2-2)*(-
1/2),1,size(zmedium,2)).*zmedium+quantiz(zmedium,zfuzzym)'.*zfuzzym;
zl=reshape((quantiz(zlarge,zfuzzyl)*2-2)*(-
1/2),1,size(zlarge,2)).*zlarge+quantiz(zlarge,zfuzzyl)'.*zfuzzyl;
figure
plot([i j k l]*maxz,zs,':')
hold
plot([i j k l]*maxz,zm,'-')
plot(zl,'--')
final=sum([zs;zm;zl]);
figure
plot([i j k l]*maxz ,final)
title('DEFUZZIFICATION')
S=cumsum(final)
[p,q]=find(S>=(sum(final)/2))
zout=(q(1)/1000)*maxz;
hold
plot(ones(1,100)*zout,[0:1/99:1],'*')
________________________________________________________________________