0
点赞
收藏
分享

微信扫一扫

备战数学建模12-模糊综合评价模型

目录

一、概述

1-数学归纳法与秃子悖论

2-数学中研究量的划分

3-生活中处处的存在模糊性(和确定性相对应)

4-模糊数学的概念

二、经典集合和模糊集合的基本概念

1-经典集合和特征函数

2-模糊集合和隶属函数

三、隶属函数的构建与模糊集的运算

1-隶属函数的确定

2-模糊集的运算

四、模糊综合评价的应用

1-模糊综合评价的方法和步骤

2-模糊综合评价的MATLAB编程实现


一、概述

1-数学归纳法与秃子悖论

先思考一下数学归纳法:假设n=1,问题成立,再假设n=k时问题成立,那么只需验证n=k+1时,问题成立,则可以得出结论:对于所有的n,问题均成立。

我们再看一下秃子悖论,假设博主满头秀发。

首先减少一根,那么博主肯定不是秃子,假设减少k根博主也不是秃子,那么根据数学归纳法,减少k+1根博主不是秃子的话,则得出结论减少n根博主都不是秃子。

这样的话:就变成了光头也不是秃子。

从文学上解释:压死骆驼的最后一根稻草。

从哲学上解释:量变引起质变。

从数学上解释:就是模糊的概念。

2-数学中研究量的划分

对于量划分为确定性的量和不确定性的量。

3-生活中处处的存在模糊性(和确定性相对应)

确定性的:性别,年龄,天气,身高,体重等等

模糊性的:帅,美,白,高等等

4-模糊数学的概念

二、经典集合和模糊集合的基本概念

1-经典集合和特征函数

集合:具有相同属性事务的集体,例如:颜色,性别,手机品牌。

集合的基本属性:互斥性:集合中任意两个元素不相等,确定性:属于和不属于只能发生一个。

数学中经典函数的刻画:特征函数。

2-模糊集合和隶属函数

三、隶属函数的构建与模糊集的运算

1-隶属函数的确定

由模糊集的概念可知,模糊数学的基本思想是隶属度,所以应用模糊数学方法建立数学模型的关键是建立符合实际的隶属函数,然而如何确定一个模糊集的隶属函数至今还是尚未解决的问题。

确定隶属度的常用方法是模糊分布法。

下面看一下常用的模糊分布:

2-模糊集的运算

由于模糊集中没有元素和集合间的绝对隶属关系,所以模糊集的运算是通过隶属函数完成的。

四、模糊综合评价的应用

1-模糊综合评价的方法和步骤

综合评价的方法很多,常用的有:灰色评价法,模糊综合评价法,层次分析法,数据包络分析法,人工神经网络分析法,理想解法等等,有时候还可以两种或者多种评价方法的组合。

2-模糊综合评价的MATLAB编程实现

对于上面的例子4,具体的编程实现如下所示,代码已加注释。

A = [1000, 120, 5000, 1, 50, 1.5, 1; 
      700, 60, 4000, 2, 40, 2, 2;
      900, 60, 7000, 1, 70, 1, 4;
      800, 70, 8000, 1.5, 40, 0.5, 6;
      800, 80, 4000, 2, 30, 2, 5] ;
  [m,n] = size(A) ; %找出矩阵A的行数和列数
  maxA = max(A) ; %找出每列的最大值,形成一个行向量
  minA = min(A) ; %找出每列的最小值,形成一个行向量
  G = maxA - minA ; %每列最大值减去最小值形成的行向量
  A1 = max(A(:,1)) ; %A1为效益型
  A2 = min(A(:,2:6)) ; %A2-A6为成本型
  A3 = max(A(:,7)) ; %A7为效益型
  u = [A1, A2, A3];  %得到理想型矩阵u
  %求出模糊综合矩阵R
  R = zeros(m, n) ;
  for i = 1 : m 
      for j = 1 : n 
          R(i,j) = abs(A(i,j) - u(j)) / G(j) ;
      end
  end
  
  %使用变异系数法求权重向量
  x = mean(A) ; %求均值
  s = std(A) ; %求标准差
  v = s./x ;
  v2 = sum(v) ;
  c = zeros(1,7) ; %得到各个指标的权重
  
  for i =  1 : 7
      c(i) = v(i) / v2 ;
  end
  
  FF = R * c' ;
  disp(FF) ;
  

对于上面的例子,具体的编程实现如下所示,代码已加注释。

A = [5.2, 5.2, 4.73, 0.473;
    10.08, 6.7, 5.71, 1.599; 
    5.25, 4.2, 3.82, 0.473;
    9.72, 5.25, 5.54, 1.313;
    6.6, 3.75, 3.3, 0.803] ;
[m,n] = size(A) ;
maxA = max(A) ;
minA = min(A) ;


%建立相对优属度模糊矩阵
R = zeros(m,n) ;

for i = 1 : m 
    for j = 1 : n 
        if (j==1 || j==4)
            R(i,j) = minA(j) / A(i,j) ;
        end
        if (j == 2 || j ==3)
            R(i,j) = A(i,j) / maxA(j) ;
        end
    end
end

x = mean(A) ;
s = std(A) ;
v = s ./ x ;
v2 = sum(v) ;
w = zeros(1,4) ;

for i = 1 : 4 
    w(i) = v(i) / v2 ;
end

  FF = R * w' ;
  disp(FF) ;
举报

相关推荐

0 条评论