membership.m
function [man]=membership(database)
[row,column]=size(database);
mi=database(1,2);
ma=database(1,3);
for i=2:row
t=database(i,2);
if(mi>t) mi=t;
end
t=database(i,3);
if(ma<t) ma=t;
end
end
long=ma-mi+1;
man(:,1)=linspace(mi,ma,long);
man(:,2)=[0];
for i=1:long
for j=1:row
if(man(i,1)>=database(j,2) && man(i,1)<=database(j,3))
man(i,2)=man(i,2)+1;
end
end
end
for i=1:long
man(i,3)=man(i,2)/row;
end
figure;
subplot(2,1,1);
plot(man(:,1),man(:,3));
subplot (2,1,2);
bar(man(:,1),man(:,2));
Threedatabase.mat
threeall.m
Young=membership(Threedatabase(:,[1,2,3]));
Middle=membership(Threedatabase(:,[1,4,5]));
Old=membership(Threedatabase(:,[1,6,7]));
隶属度
u 少年 青年 中年
15 1 0 0
25 0 0.9 0.1
35 0 0.1 0.9
45 0 0 1
55 0 0 1
65 0 0 0.2
少年
青年
中年