【问题标题】:Fuzzy set union and intersection in matlabmatlab中的模糊集并集和交集
【发布时间】:2016-07-24 21:27:43
【问题描述】:
k = {1,2,3,4,5};

v = {0.1,0.3,0.2,0.2,0.6};

k1 = {1,5,6,7,8};

v1 = {0.8,0.6,0.2,0.2,0.6};

fset1 = containers.Map(k, v);

fset2 = containers.Map(k1, v1);

以上是我的模糊集。我想找到这两个模糊集的并集和交集。我想不出在matlab中实现这两个模糊集的并集和交集的逻辑。

【问题讨论】:

    标签: matlab octave fuzzy-logic fuzzy


    【解决方案1】:

    首先要澄清一点,没有模糊交集或并集运算。有一个无限的交集和并集,称为三角范数和三角共角。

    话虽如此,在经典模糊理论中,“默认”,可以说,交集是所有元素的“最小值”,而并集是所有元素的“最大值”。 IE。

    如果你只是成对地执行操作,那么你可以简单地说

    (在处理工会时,max 也是如此)。

    我不太确定你在那里用键和值做什么,但基本上如果你有两个以向量形式表示的模糊集(即向量中的每个位置对应一个元素,并且存在或不存在集合中的那个元素分别用 1 和 0 表示,并且 [0,1] 范围内的模糊值表示该程度的模糊性),那么你需要做的就是得到两者中的最小值每个位置的向量,即

    >> f1 = rand([1,10])
    f1 =
        0.1576    0.9706    0.9572    0.4854    0.8003    0.1419    0.4218    0.9157    0.7922    0.9595
    >> f2 = rand([1,10])
    f2 =
        0.6557    0.0357    0.8491    0.9340    0.6787    0.7577    0.7431    0.3922    0.6555    0.1712
    >> fuzzy_intersection = min(f1, f2)
    fuzzy_intersection =
        0.1576    0.0357    0.8491    0.4854    0.6787    0.1419    0.4218    0.3922    0.6555    0.1712
    

    【讨论】:

    • 其他流行的 TNorms 是产品规范:a & b := a .* b 和 Lukasiewicz 规范:a & b := max(0, a + b - 1)
    【解决方案2】:

    以下是使用matlab/octave 实现模糊集联合的方法,以下是一些流行的模糊联合函数:

    让我们用下面的代码来实现第一个联合函数,它非常简单:

    A = containers.Map({1,2,3,4,5}, {0.1,0.3,0.2,0.2,0.6}); # fuzzy set A
    B = containers.Map({1,5,6,7,8}, {0.8,0.3,0.2,0.2,0.6}); # fuzzy set B
    
    AUB = containers.Map(A.keys, A.values);    # fuzzy set AUB
    for k = keys(B)
        if isKey(AUB, k{1})
            AUB(k{1}) = max(AUB(k{1}), B(k{1}));
        else
            AUB(k{1}) = B(k{1});
        end
    end
    

    现在绘制隶属函数 μ(AUB):

    plot(cell2mat(A.keys), cell2mat(A.values), 'color', 'r', 'linestyle', 'none');
    plot(cell2mat(B.keys), cell2mat(B.values), 'color', 'g', 'linestyle', 'none');
    plot(cell2mat(AUB.keys), cell2mat(AUB.values), 'color', 'b', 'linestyle', 'none');
    title ("membership function plot for fuzzy union");
    

    同样,fuzzy intersection functions 也有公理。

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 2011-07-14
      • 1970-01-01
      • 2015-07-16
      • 2020-04-30
      • 1970-01-01
      • 2018-12-09
      • 1970-01-01
      相关资源
      最近更新 更多