基于MATLAB实现的云模型计算隶属度

”或者’云滴‘是云模型的基本单元,所谓云是指在其论域上的一个分布,可以用联合概率的形式(x, u)来表示

云模型用三个数据来表示其特征 
期望:云滴在论域空间分布的期望,一般用符号Εx表示。 
熵:不确定程度,由离散程度和模糊程度共同决定,一般用En表示。 
超熵: 用来度量熵的不确定性,既熵的熵,一般用符号He表示。

云有两种发生器:正向云发生器和逆向云发生器,分别用来生成足够的云滴和计算云数字特征(Ex, En,He)。

正向云发生器: 
1.生成以En为期望,以He^2为方差的正态随机数En’。 
2.生成与Ex为期望,以En‘^2为方差的正态随机数x。 
3.计算隶属度也就是确定是 u=exp(-(x - Ex)^2 / 2*En‘^2),则(x, u)便是相对于论域U的一个云滴。这里选择常用的“钟型”函数u=exp(-(x - a)^2 / 2*b^2)为隶属度函数。 
4. 重复生成123步骤直到生成足够的云滴。

逆向云发生器 
1.计算样本均值X和方差S^2 
2.Ex = X 
3.En = S^2 
4. He = sqrt(S^2 - En^2)

云模型的MATLAB设计 ———评估下面四位选手的设计水平

选手ABCD
19.510.310.18.1
210.39.710.410.1
310.68.69.210.0
410.510.410.110.1
510.99.810.010.1
610.69.89.710.0
710.410.510.610.3
810.110.210.88.4
99.310.29.610.0
1010.510.010.79.9

MATLAB程序如下:

 cloud_main.m

% 以下是主函数cloud_main.m
clc;
clear all;
close all;
% 每幅图生成N个云滴
N = 1500;
% 射击成绩的原始数据
Y = [
    9.5 10.3 10.1 8.1;
    10.3 9.7 10.4 10.1;
    10.6 8.6 9.2 10.0;
    10.5 10.4 10.1 10.1;
    10.9 9.8 10.0 10.1;
    10.6 9.8 10.0 10.1;
    10.4 10.5 10.6 10.3;
    10.1 10.2 10.8 8.4;
    9.3 10.2 9.6 10.0;
    10.5 10.0 10.7 9.9;
    ];

for i = 1: size(Y,2)
    subplot(size(Y,2)/2, 2, i)
    % 调用函数
    [x, y, Ex, En, He] = cloud_transform(Y(:,i), N);
    plot(x, y, 'r.');
    xlabel('射击成绩分布/环');
    ylabel('确定度');
    title('人射击云模型还原图谱');
    % 控制坐标轴的范围
    % 统一坐标轴上才会在云模型形态上才具有可比性
    axis([8, 12, 0, 1]);
end
cloud_transform.m
function [x, y, Ex, En, He] = cloud_transform(y_spor, n);
% x 表示云滴, y 表示隶属度(这里是钟型隶属度), 意义是度量倾向的稳定程度;
% Ex 云模型的数字特征,表示期望;En 云模型的数字特征,表示滴(表示混乱程度的物理量,实在是打不出来了,就用这个代替了,下同);
% He 云模型的数字特征,表示超滴
Ex = mean(y_spor);
En = mean(abs(y_spor - Ex)).*sqrt(pi./2);
He = sqrt(var(y_spor) - En.^2);
% 通过统计数据样本计算云模型的数字特征
for q = 1:n
    Enn = randn(1).*He + En;
    x(q) = randn.*Enn + Ex;
    y(q) = exp(-(x(q) - Ex).^2./(2.*Enn.^2));
end
x;
y;

结果如下图:



可以看出C选手的云滴凝聚抱合程度更高,所以可以认为C选手在本次比赛表现更为出色。




  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值