机器学习(MACHINE LEARNING)MATLAB模糊评价模型

1 举例讲解

例1:
对某品牌电视机进行综合模糊评价
设评价指标集合:
U= {图像,声音,价格} ;
评语集合:
V={很好,较好,-般,不好} ;
在这里插入图片描述
这样一个模糊评价矩阵就建立完毕。

2 另一个例子

在这里插入图片描述
在这里插入图片描述
考虑一个服装评判的问题,为此建立因素集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)<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

------------------------------------------------------------------------------------

解释如下:

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

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


3 输出结果截图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

理想不闪火

你的鼓励将是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值