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)];