云模型及其运用

云模型是由中国工程院院士李德毅提出的,处理定性概念与定量描述的不确定转换模型。

简单来说就是云就是一个种群,一个分布,而云滴就是其中的一个数据,一个具体的点,而这个点出现在这个分布中是有一定的概率的。

云模型用3个数据来表示其特征:

期望:Ex,云滴在空间分布的期望。

熵:不确定性程度,用En表示

超熵 :用来表示熵的不确定性,即熵的熵.



云有两种发生器,即一种生成足够的云滴,另一种是计算特征(后一种好比压缩文件成几个数学公式,而这几个数学公式就可以表示这个云的状态,前一种就是解压文件,主要是用于画图)


  正向发生器:(根据Ex,En,He获得图像)

 1.生成以En为期望,以He为方差的正态随机数Enn;                                                              %Enn=rand(1)*He+En

 2,生成以Ex为期望,以Enn为方差的正态随机数x.                                                                   %x=rand(1)*Enn+Ex

 3.计算确定度=exp(-(x-Ex)^2/2Enn^2)


 反向发生器:(根据图像获得En,He,Ex)

1,Ex=X的平均值

2,  En=|x-Ex|的平均值*sqrt(pi/2)

3,  He=sqrt(s^2-En^2);



例题:针对给定的步枪射击的成绩比较选手的状态

cloud_transform.m

function [x,y,Ex,En,He]=cloud_transform(y_spor,n)
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(1).*Enn+Ex;
    y(q)=exp(-(x(q)-Ex).^2./(2.*Enn.^2));
end
x;
y;

命令行程序:
>> data.m;
>> N=1000;
>> for i= 1:size(Y,1)
  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
数据 data.m

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]';


效果如下:





再比如画出下个图形.

 

 


>> Ex=0;
>> En=1;
>> He=0.1;
>> N=3000;
>> for q=1:N
Enn=randn(1).*He+En;
x(q)=randn(1).*Enn+Ex;
y(q)=exp(-(x(q)-Ex).^2./(2.*Enn.^2));
end
>>  axis([-4,5,0,1]);
>>  plot(x,y,'r');


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值