matlab有模糊分析,用matlab进行模糊综合评判_模糊综合评判matlab
用matlab進行模糊綜合評判
考慮一個服裝評判的問題,為此建立因素集U={u1,u2,u3,u4},其中u1表示花色,u2表示式樣,u3表示耐穿程度,u4表示價格,建立評判集V={v1,v2,v3,v4},其中v1表示很歡迎,v2表示較歡迎,v3表示不太歡迎,v4表示不歡迎,進行單因素評判的結果如下:
用模型模型即“主因素決定型”,計算綜合評判為:
根據最大隸屬度原則可知,第一類顧客對此服裝“不太歡迎”,第二類顧客對此服裝則“比較歡迎”?。
用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)
x=A(i,k);
else
x=R(k,j);
end
if(B(i,j)
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)
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
————————————————————————————
解釋如下:
根據最大隸屬度原則可知,第一類顧客對此服裝“不太歡迎”,
第二類顧客對此服裝則“比較歡迎”?。
喜歡 (2)or分享 (0)
總結
以上是生活随笔為你收集整理的matlab有模糊分析,用matlab进行模糊综合评判_模糊综合评判matlab的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP爬虫音乐,PHPCrawl爬虫库实
- 下一篇: 粗粮吃得越多越养胃吗?蚂蚁庄园3.1日答