基于matlab的云模型

云模型主要用于定性定量之间的转换,自然界的不确定性从属性角度来说主要有随机性和模糊性,这跟单色光的“波粒二象性”相似。“云”是云模型的基本单元,是指在其论域上的分布,可以以联合概率的形式(x,μ)来类比。

我们可以用简单的例子的来说明,比如x代表身高,μ来表示高个子的隶属度或者说确定度,用来度量某种倾向的稳定性,U代表高个子这个定性概念。
下面是通过四个选手的60发气枪比赛用云模型分析选出发挥最好的选手。
主函数cloud_main函数如下:

clc;
clear all;
close all;
N=1500;%每幅图生成1500个云滴
%射击成绩原始数据按列存储,所以要转置,转置之后每行分别代表A,B,C,D的十次射击成绩
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 9.7 10.0
    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,1)    %代表Y的第一个维度的数据
    subplot(size(Y,1)/2,2,i)
    %调用云模型函数
    [x,y,Ex,En,He]=cloud_transform(Y(i,:),N);
    plot(x,y,'r.');
    xlabel('射击成绩分布/');
    ylabel('确定度');
    title(strcat('',num2str(i),'人射击模型还原图'));
    %控制坐标轴范围的范围,这样的四个图的数据才会具有可比性
    axis([8,12,0,1]);
end

其中函数clloud_transform函数来计算样本的云模型数字特征:

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));%var返回每行的的方差

%通过云模型的数字特征来还原更多的云端
for q=1:n
    Enn=randn(1).*He+En;       %randn指生成正态分布数组
    x(q)=randn(1).*Enn+Ex;
    y(q)=exp(-(x(q)-Ex).^2./(2.*Enn.^2));
end
x;
y;

下面是运行结果
在这里插入图片描述
我们分析云模型图谱之前,我们先明确分析的维度及其意义。首先是云模型的期望,其次是确定度(隶属度),表示倾向的稳定的程度,图谱上表现为云滴是否集中,最后是离群程度,也就是随机性,显然第2位和第4位环数分布跨度大,基本在8环和9环之间都有很显著的分布倾向,且第4位射击手更差,期望位于10环的左侧。第1位比第3位云滴凝聚抱和程度更高,所以可以认为第3位在本次射击比赛中表现更加出色

  • 16
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值