Page 54 - Algorithm Collections for Digital Signal Processing Applications using MATLAB
P. 54

42                                                         Chapter  1

              ymedium   =[zeros(1,length([i]))  (1/(posy(3)-posy(2))*(j-posy(2)))  (-1/(posy(4)-
           posy(3))*(k-posy(4))) zeros(1,length([l]))];
              ylarge=[zeros(1,length([i j])) (1/(posy(4)-posy(3))*(k-posy(3))) (-1/(posy(5)-posy(4))*(l-
           posy(5))) ];

              figure
              plot([i j k l]*maxy,ysmall,':');
              hold
              plot([i j k l]*maxy,ymedium,'-');
              plot([i j k l]*maxy,ylarge,'--');
              xlabel('crisp value')
              ylabel('fuzzy value')
              title('YINPUT')

              i=posz(1):1/999:posz(2);
              j=(posz(2)):(1/999):posz(3);
              k=(posz(3)):(1/999):posz(4);
              l=(posz(4)):(1/999):posz(5);
              zsmall=[1/posz(2)*i (-1/(posz(3)-posz(2))*(j-posz(3))) zeros(1,length([k l]))];
              zmedium   =[zeros(1,length([i]))  (1/(posz(3)-posz(2))*(j-posz(2)))  (-1/(posz(4)-
           posz(3))*(k-posz(4))) zeros(1,length([l]))];
              zlarge=[zeros(1,length([i j])) (1/(posz(4)-posz(3))*(k-posz(3))) (-1/(posz(5)-posz(4))*(l-
           posz(5))) ];

              figure
              plot([i j k l]*maxz,zsmall,':');
              hold
              plot([i j k l]*maxz,zmedium,'-');
              plot([i j k l]*maxz,zlarge,'--');
              xlabel('crisp value')
              ylabel('fuzzy value')
              title('ZOUTPUT')

              xinput=[6];
              xinput=round(((xinput/maxx)*1000))
              yinput=[50];
              yinput=round(((yinput/maxy)*1000))
              %fuzzy values

              xfuzzy=[xsmall(xinput) xmedium(xinput) xlarge(xinput)];
              yfuzzy=[ysmall(yinput) ymedium(yinput) ylarge(yinput)];
   49   50   51   52   53   54   55   56   57   58   59