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],'*')
              ________________________________________________________________________
   50   51   52   53   54   55   56   57   58   59   60