本站分享大数据、数据分析、数据挖掘、数据库、商业智能(BI)、数据分析师、培训课程考试认证等相关信息!【广告合作】在线联系联系我们数据分析QQ交流群:331864445

用matlab进行模糊综合评判_模糊综合评判matlab

matlab培训 cdadata 93℃ 0评论

用matlab进行模糊综合评判

关键词:模糊综合评判matlabmatlab模糊评判系统模糊评判matlab

考虑一个服装评判的问题,为此建立因素集U={u1,u2,u3,u4},其中u1表示花色,u2表示式样,u3表示耐穿程度,u4表示价格,建立评判集V={v1,v2,v3,v4},其中v1表示很欢迎,v2表示较欢迎,v3表示不太欢迎,v4表示不欢迎,进行单因素评判的结果如下:

用matlab进行模糊综合评判_模糊综合评判matlab

 

用模型模型即“主因素决定型”,计算综合评判为:

用matlab进行模糊综合评判_模糊综合评判matlab

根据最大隶属度原则可知,第一类顾客对此服装“不太欢迎”,第二类顾客对此服装则“比较欢迎” 。

用matlab解决的代码如下:

%新建Example8_4.m文件

function Example8_4
A1=[0.1 0.2 0.3 0.4];
A2=[0.4 0.35 0.15 0.1];
R=[0.2 0.5 0.2 0.1;
0.7 0.2 0.1 0;
0 0.4 0.5 0.1;
0.2 0.3 0.5 0];
fuzzy_zhpj(1,A1,R)
fuzzy_zhpj(1,A2,R)
end
%%
function[B]=fuzzy_zhpj(model,A,R) %模糊综合评判
B=[];
[m,s1]=size(A);
[s2,n]=size(R);
if(s1~=s2)
disp(‘A的列不等于R的行’);
else
if(model==1)                 %主因素决定型
for(i=1:m)
for(j=1:n)
B(i,j)=0;
for(k=1:s1)
x=0;
if(A(i,k)<R(k,j))
x=A(i,k);
else
x=R(k,j);
end
if(B(i,j)<x)
B(i,j)=x;
end
end
end
end
elseif(model==2)               %主因素突出型
for(i=1:m)
for(j=1:n)
B(i,j)=0;
for(k=1:s1)
x=A(i,k)*R(k,j);
if(B(i,j)<x)
B(i,j)=x;
end
end
end
end
elseif(model==3)              %加权平均型
for(i=1:m)
for(j=1:n)
B(i,j)=0;
for(k=1:s1)
B(i,j)=B(i,j)+A(i,k)*R(k,j);
end
end
end
elseif(model==4)             %取小上界和型
for(i=1:m)
for(j=1:n)
B(i,j)=0;
for(k=1:s1)
x=0;
x=min(A(i,k),R(k,j));
B(i,j)=B(i,j)+x;
end
B(i,j)=min(B(i,j),1);
end
end
elseif(model==5)            %均衡平均型
C=[];
C=sum(R);
for(j=1:n)
for(i=1:s2)
R(i,j)=R(i,j)/C(j);
end
end
for(i=1:m)
for(j=1:n)
B(i,j)=0;
for(k=1:s1)
x=0;
x=min(A(i,k),R(k,j));
B(i,j)=B(i,j)+x;
end
end
end
else
disp(‘模型赋值不当’);
end
end
end
%%
———————————————————————————-

右击“Example8_4.m”–>run,得到如下结果:

ans =

0.2000    0.3000    0.4000    0.1000
ans =

0.3500    0.4000    0.2000    0.1000

————————————————————————————

解释如下:

根据最大隶属度原则可知,第一类顾客对此服装“不太欢迎”,

第二类顾客对此服装则“比较欢迎” 。

转载请注明:数据分析 » 用matlab进行模糊综合评判_模糊综合评判matlab

喜欢 (1)or分享 (0)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. 模糊综合评判matlab
    cdadata2016-11-01 16:14