p28 习题3-1
已知年老和年轻两个模糊集合的隶属函数,完成matlab画图并设计很年轻和不老也不年轻的两个模糊集合的隶属函数 。
%
% Membership function for W People “很年轻W”的隶属函数曲线
clear all;
close all;
%年老O
for k1 = 1:1:2001
x1(k1) = (k1-1)*0.10;% x取值范围0~200
if x1(k1) >= 0 & x1(k1) <= 50
y1(k1)=0.0;
elseif x1(k1) >= 50 & x1(k1) <= 70
y1(k1) = (x1(k1)-50)/20;
else
y1(k1) = 1.0;
end
end
%年轻
for k = 1:1:2001
x(k) = (k-1)*0.1;
if x(k)>=0&x(k)<=25
y(k) = 1.0;
elseif x(k)>25&x(k)<=70
y(k)=(70 - x(k))/45;
else
y(k) = 0;
end
end
%很年轻 Z型
for k2 = 1:1:2001
x2(k2) = (k2-1) * 0.1;
y2(k2) = zmf(x(k2),[15,50]);
end
%不老也不年轻 钟型
for k3 = 1:1:2001
x3(k3) = (k3-1)*0.1;
y3(k3) = gbellmf(x3(k3),[10,5,50]);
end
%figure(1);
plot(x,y,'k','Color',[1 0 0],'LineWidth',2);
xlabel('x Years');
ylabel('Y');
%figure('x','y','年轻 Y');
hold on;
%figure(2)
plot(x1,y1,'k','Color',[0 1 0],'LineWidth',2);
xlabel('x Years');
ylabel('Y');
%figure('x1','y1','年老 O');
hold on;
%figure(3)
plot(x2,y2,'k','Color',[0 0 1],'LineWidth',2);
xlabel('x Years');
ylabel('Y');
%figure('x2','y2','很年轻 W');
hold on;
%figure(4)
plot(x3,y3,'k','Color',[0.5 0.5 0.5],'LineWidth',2);
xlabel('x Years');
ylabel('Y');
%figure('x3','y3','不老也不年轻 V');
legend('年轻 Y','年老 O','很年轻 W','不老也不年轻 V')