-
2021-04-21 02:57:26
本人用两种方法生成正态分布随机数,并产生云滴绘图。但一种离散程度很高,一种基本不离散,希望找出原因!!!源代码如下:
load G1.txt; %%% 矩阵G1为一个评语的取值范围(一列)。
[m,n]=size(G1);
E=ones(1,1); %%% 矩阵E用于存放熵En
S=ones(1,1); %%% 矩阵S用于存放样本方差(二阶平方距)
H=ones(1,1); %%% 矩阵H用于存放超熵He
F=mean(G1,1); %%% 矩阵F用于存放各项指标评价结果的期望值Ex
E=(pi/2)^(1/2)*(1/m);
S=(1/(m-1)); %%%%% 二阶平方距
H=(abs(S-E^2))^(1/2);
F %%%%%%% 某个评语的期望值Ex
E %%%%%%% 某个评语的熵En
H %%%%%%% 某个评语的超熵He
n=1000; %%% 设定随机数数目
x=zeros(1,n);
y=zeros(1,n);
f=F*ones(1,n);
for i=1:n
x(i)=normrnd(E,H);
Enn(i)=x(i);
end
hold on %%% 绘制此评语的云图
for i=1:n
x(i)=normrnd(F,Enn(i));
y(i)=exp(-(x(i)-f).^2/(2*Enn.^2));
plot(x(i),y(i),'*')
end
load G1.txt; %%% 矩阵G1为一个评语的取值范围(一列)。
[m,n]=size(G1);
E=ones(1,1); %%% 矩阵E用于存放熵En
S=ones(1,1); %%% 矩阵S用于存放样本方差(二阶平方距)
H=ones(1,1); %%% 矩阵H用于存放超熵He
F=mean(G1,1); %%% 矩阵F用于存放各项指标评价结果的期望值Ex
E=(pi/2)^(1/2)*(1/m);
S=(1/(m-1)); %%%%% 二阶平方距
H=(abs(S-E^2))^(1/2);
F %%%%%%% 某个评语的期望值Ex
E %%%%%%% 某个评语的熵En
H %%%%%%% 某个评语的超熵He
hold on
for i=1:1000
Enn=randn(1)*He+En;
x(i)=randn(1)*Enn+Ex;
y(i)=exp(-(x(i)-Ex)^2/(2*Enn^2));
plot(x(i),y(i),'*')
end
更多相关内容 -
云模型matlab代码
2020-01-03 19:12:55云模型是一种描述非确定性关系的数学方法,在模糊数学和统计学的基础上,将模糊性和随机性相结合,构成定性描述和定量描述之间的相互映射关系,作为自然语言和数据语言的转换基础。云模型的数字特征用期望值Ex、熵En... -
云模型Matlab代码
2015-11-08 21:22:46云模型matlab代码,云滴图,逆向云发生器 -
云模型MAtlab代码,云滴图,逆向发生器daima
2022-05-28 18:29:39云模型MAtlab代码,云滴图,逆向发生器daima -
二维云模型MATLAB
2020-12-16 17:26:08使用MATLAB实现二维云模型,云标尺示意图,给出二维云模型6个参数EX,Ey,Enx,Eny,Hex,Hey,直接打开MATLAB软件加载运行 -
云模型matlab代码,可以直接使用
2022-03-30 20:40:02云模型matlab代码,可以直接使用 -
dea模型matlab代码_dea模型代码_MATLAB的DEA代码_非期望工具箱_
2021-10-04 10:14:00同样是DEA模型,这个包含有非期望产出的部分,使用时可以直接将数据粘贴到相应位置即可。代码中有注释,非常清楚。 -
云模型云滴生成matlab代码
2020-03-18 09:53:02为了处理定性概念中广泛存在的随机性和模糊性,李德毅院士首次提出了用云模型作为不确定性知识的定性定量转换的数学模型,经过几年的完善和发展,目前云模型已成功应用于智能控制、...本资源提供云模型计算matlab代码 -
Matlab实现云模型
2022-03-22 18:16:27云模型 (1) 模型简介如下图所示 (2) 具体云模型如下图所示 有原始数据得到云滴得步骤为: 【1】计算数据Ex En He Ex=mean(x(i,:)) En=mean(sqrt(pi/2)*abs(x-Ex))。注意:mean函数包含了求和...云模型
(1) 模型简介如下图所示
(2) 具体云模型如下图所示
有原始数据得到云滴得步骤为:
【1】计算数据Ex En He
Ex=mean(x(i,:)) En=mean(sqrt(pi/2)*abs(x-Ex))。注意:mean函数包含了求和然后除以n的运算。
【2】生成Enn x y
Enn=En+He .X randn(1)。x=Ex+Enn .X randn(1);y=exp( -( x(q) - Ex ) .^ 2 ./ ( 2 .X Enn.^2 ) )。
【3】返回云滴模型 [ x,y,Ex,En,He ]
(3) 云模型特征理解:
对于普通的n组数据,它们由单纯数字组成,每组数据既无法表现该组的独特数字特征,也无法区别于其他组进行比较。云模型,原理就是使用了数据的独特数字特征,正向可以使用数据的独特数字特征来生成具体的云模型(多个云滴),反向可以根据具体的云模型(多个云滴)来计算出数据的数字特征。可以发现数字特征与云模型(多个云滴)是具有对应的关系的(并非完全不变的对应,因为有随机运算在其中),而是说彼此存在一种一一对应的关系(不严谨的说)。
那么为什么要利用云模型呢?云模型是将数字特征和定量数据之间进行转换的模型。并且云模型的云滴是有关于数字特征的,即云模型数据(云滴)可以表示原始数据的期望、确定度(集中程度)、随机性(离散程度),这些附加性都是相对原始数据而言。相对数字特征而言,云滴是将确定的性质转换为具体的定量数据。
引用百度百科:云模型是云的具体实现方法,也是基于云的运算、推理和控制等的基础。它可以表示由定性概念到定量表示的过程(正向云发生器),也可表示由定量表示到定性概念的过程(逆向云发生器)。该模型是处理定性概念与定量描述的不确定转换模型。(4) 云模型代码示例:
此题: 原始数据 -> 提取得:数据特征值 -> 正向云生成得:定量云滴。
% 以下是主函数cloud_main.m clc; clear 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 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) %函数subplot是将多个图画到一个平面上的工具。 subplot(size(Y,1)/2,2,i); [x,y,Ex,En,He]=f2(Y(i,:),N); %将在第i副图上绘图 plot(x,y,'r.'); %为坐标轴命名 xlabel('射击成绩分布/环'); ylabel('确定度'); %为第i副图设置标题 num2str函数的功能是:把数值转换成字符串 title(strcat('第',num2str(i),'人射击云模型还原图谱')); %axis( [xmin xmax ymin ymax] ) 设置当前坐标轴 x轴 和 y轴的限制范围 axis([8,12,0,1]); end %% 以下是函数f2.m %根据原始数据y_spor和需要的云滴个数n %返回n个云滴,x代表n个云滴的数据值,y代表n个云滴的确定度 %Ex En He 分布代表原始数据的 期望 熵 超熵 function [x,y,Ex,En,He] = f2(y_spor,n) %mean函数作用:求得矩阵的平均值(期望) Ex=mean(y_spor); %熵的求法:sum(abs(y_spor-Ex)).*sqrt(pi/2) En=mean(sqrt(pi/2).*abs(y_spor-Ex)); %超熵的求法:sqrt(S.^2-En.^2) var函数作用:求得矩阵方差S^2 He=sqrt(var(y_spor)-En.^2); for i=1:n %生成以En为期望 以He^2为方差的正态随机数Enn %randn(m)生成m行m列的标准正态分布的随机数或矩阵的函数 Enn=En+randn(1).*He; %生成以Ex为期望,以Enn^2为方差的正态随机数x x(i)=Ex+randn(1)*Enn; %计算隶属度(确定度) y(i)=exp(-(x(i)-Ex).^2/(2*Enn.^2)); end end
(5)云模型分析:
四个云模型如下图所示。分析的有限度从高到低为:
期望 -> 确定度(隶属度) -> 随机性(离散程度)
期望表示云滴或数据均值,期望的确定度为1,所有看模型的期望就是看模型确定度为1的点的值(即x值)为多少,如第二人期望大概为9.92.。而确定度表示倾向的稳定程度,在图谱上的表现形式是云滴是否集中。而随机性就直接看离散程度就是了。
(6)拓展链接:
-
Desktop_云模型_云相似度_
2021-09-29 13:06:43本程序为matlab语言,用于计算云模型的,均值,特征熵,超熵。 -
基于云模型效能评估的Matlab实现
2020-10-18 17:21:41对基于云模型的系统效能评估方法及过程进行了简要的描述,用Matlab代码实现了部分算法,代码经测试均可正确运行。对云模型的研究和应用有一定的推广价值和研究意义。 -
关于云模型生成云图的MATLAB代码
2022-03-08 15:22:54首先了解一下什么叫云模型,云模型由中国工程院院士李德毅于1995年提出。云模型由若干云滴组成。其中每个云滴是确定的点,构成一个负责不确定的云。对于一个云的描述饱含三个元素,记作:(Ex,En,He)。 基本概念...首先了解一下什么叫云模型,云模型由中国工程院院士李德毅于1995年提出。云模型由若干云滴组成。其中每个云滴是确定的点,构成一个负责不确定的云。对于一个云的描述饱含三个元素,记作:(Ex,En,He)。
基本概念:Ex,云滴在论域空间的期望。
En,熵。用来表示云团的不确定性程度。
He,超熵。用来表示熵的不确定性程度。一个云模型记作。
正向云发生器:由(Ex,En,He)生成云团。
逆向云发生器:从复杂混乱云团中提取云的核心元素(Ex,En,He)。
主要目的:实现定性概念与定量描述直接的转换。
应用范围:自动驾驶、智能控制、复杂网络建模、语义控制、综合评价等
理论基础:概率论、模糊数学、混沌理论等 。
”云”或者’云滴‘是云模型的基本单元,所谓云是指在其论域上的一个分布,可以用联合概率的形式(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)单个云图生成
clear;
clc;
N=3000;
Ex=0.9031 ;
En=0.0946 ;
He=0.0616 ;
CloudDrp = zeros(2,N);
for i=1:N
E_n = normrnd(En,He,1,1); %随机生成一个一行一列的以En为期望,以He为标准差的正态分布的数,这个数就是下一个正态分布的标准差
CloudDrp(1,i) = normrnd(Ex,E_n,1,1); %生成横坐标,也就是云滴的取值
CloudDrp(2,i) = exp(-(CloudDrp(1,i)-Ex)^2/(2*E_n^2));%钟形隶属度函数,得到纵坐标,隶属度
end
plot(CloudDrp(1,:),CloudDrp(2,:),'.')结果如下图所示,使用时修改三个特征数值即可。
多个云图在一张图中呈现
clear;
N=3000;
Ex1=0.9031 ;
En1=0.0946 ;
He1=0.0616 ;
Ex2=0.3961 ;
En2=0.2515 ;
He2=0.0328 ;
Ex3=0.1524 ;
En3=0.1524 ;
He3=0.1524 ;
CloudDrp=zeros(2,N);
for i=1:N
E_n1=normrnd(En1,He1,1,1);
E_n2=normrnd(En2,He2,1,1);
E_n3=normrnd(En3,He3,1,1);
CloudDrp(1,i) = normrnd(Ex1,E_n1,1,1);
CloudDrp(2,i) = exp(-(CloudDrp(1,i)-Ex1)^2/(2*E_n1^2));
CloudDrp(3,i) = normrnd(Ex2,E_n2,1,1);
CloudDrp(4,i) = exp(-(CloudDrp(3,i)-Ex2)^2/(2*E_n2^2));
CloudDrp(5,i) = normrnd(Ex3,E_n3,1,1);
CloudDrp(6,i) = exp(-(CloudDrp(5,i)-Ex3)^2/(2*E_n3^2));
end
plot(CloudDrp(1,:),CloudDrp(2,:),'.')
hold on
plot(CloudDrp(3,:),CloudDrp(4,:),'.')
hold on
plot(CloudDrp(5,:),CloudDrp(6,:),'.')这里举三个样本为例
-
三硬币模型matlab代码-CodeQL-Guide:CodeQL指南
2021-06-08 01:10:15三硬币模型matlab代码 CodeQL 指南 涵盖 CodeQL 的指南,包括应用程序和工具,这些应用程序和工具将使您成为更好、更高效的 CodeQL 开发人员。 注意:您可以使用这个方便的扩展名轻松地将此 Markdown 文件转换为 PDF... -
云模型的MATLAB实现
2015-12-06 11:16:36云模型的MATLAB实现,用不同颜色的线条作图 -
正向云模型的Matlab程序
2012-02-15 19:20:19Matlab正向正态云发生器,正向正态云发生器是从定性到定量的映射,不确定性人工智能里的程序 -
cloud model_matlab云模型_
2021-09-29 07:08:21数学建模云模型,含有测试文件,直接给出的Ex,En,He -
云发生器模型的matlab实现
2021-05-13 05:00:15云模型是在模糊集合理论和概率理论进行交叉渗透的基础上构造的特定算法,即云发生器,进行定性概念和定量表示之间的不确定转换,它揭示随机性和模糊性的内在关联性。在此利用实例解释云模型的应用。 -
云模型发生器MATLAB代码
2012-04-09 19:05:23根据李德毅院士提出的云模型,由3个云参数:期望、熵、超熵生成可视化的云图。【MATLAB代码】 -
导弹模型matlab代码-SeniorResearch:AvikBanerjeeHS高级研究资料库
2021-05-27 08:47:44导弹模型matlab代码高级研究 你好! 这是我的AET高级研究项目资料库。 项目摘要 多年的太空活动和导弹测试导致了超过1,000,000片以17500英里/小时的速度绕地球运行的太空碎片的积累。 这种高速碎片会损坏昂贵的太空... -
云模型的软件实现文件与具体实现的MATLAB源代码
2021-08-21 02:00:20云模型的软件实现与其实现的源代码,云模型是为了解决定性描述语言与定量的数学之间装换的一种数学模型。 云模型的软件实现与其实现的源代码,云模型是为了解决定性描述语言与定量的数学之间装换的一种数学模型。 -
云模型及发生器matlab代码
2021-07-08 15:00:13云模型由中国工程院院士李德毅于1995年提出。云模型由若干云滴组成。其中每个云滴是确定的点,构成一个负责不确定的云。对于一个云的描述饱含三个元素,记作:(Ex,En,He)。 基本概念:Ex,云滴在论域空间的期望...
前言
云模型由中国工程院院士李德毅于1995年提出。云模型由若干云滴组成。其中每个云滴是确定的点,构成一个负责不确定的云。对于一个云的描述饱含三个元素,记作:(Ex,En,He)。
基本概念:Ex,云滴在论域空间的期望。
En,熵。用来表示云团的不确定性程度。
He,超熵。用来表示熵的不确定性程度。一个云模型记作。
正向云发生器:由(Ex,En,He)生成云团。
逆向云发生器:从复杂混乱云团中提取云的核心元素(Ex,En,He)。
主要目的:实现定性概念与定量描述直接的转换。
应用范围:自动驾驶、智能控制、复杂网络建模、语义控制、综合评价等
理论基础:概率论、模糊数学、混沌理论等
一、云模型定义
在此参考
参考文献:《正态云模型研究回顾与展望》,计算机学报,杨洁等
二、云发生器及Matlab代码:
2.1.正向云发生器
参考文献:《Matlab在数学建模中的应用(第2版)》北京航空航天大学出版社,卓金武等。
代码如下:
function [fval]=cloud_TO(Ex,En,He,N) %正向云发生器 % EX为生成云滴的均值 % En为生成云滴的熵 % He为生成云滴的超熵 % N为生成云滴数量 for i=1:N En_r(i)=randn(1)*He+En; %生成随机熵 Ex_r(i)=randn(1)*En_r+Ex; fval(i)=exp(-(x(q)-Ex).^2./(2.*Enn.^2)); end
返回值是各云滴的隶属度。
2.2逆向云发生器
2.2.1 SBCT-1stM算法
SBCT-1stM是首个无确定度的逆向云算法,也是最初的算法,虽有有些过时,但对于云模型的理解很重要。
代码如下:
function [Ex,En,He]=cloud_SBCT_1thM(A) Ex=mean(A); En=mean(abs(A-Ex)).*sqrt(pi/2); He=sqrt(var(A)-(En).^2); end
2.2.2 SBCT-4stM算法
function [Ex,En,He]=cloud_SBCT_4stM(A) Ex=mean(A); S_2=var(A); miu_4=(sum((Ex-A).^4))/(length(A)-1); En=((9*S_2.^2-miu_4)/6).^(1/4); He=sqrt(S_2-En); end
2.2.3 MBCT-SR算法
由于SBCT-1stM算法与SBCT-4stM算法都会出现超熵为虚数的情况,因此许昌林和王国胤提出了一种新算法MBCT-SR算法。
function [Ex,En,He]=cloud_MBCT_SR(A,n,m) %n为抽取样本个数,m为每个样本包含元素个数 Ex=mean(A); for i=1:n X{i}=datasample(A,m); DY(i)=var(X{i}); end En=sqrt(0.5*sqrt(4*mean(DY).^2-2*var(DY))); He=sqrt(mean(DY)-En.^2);
2.3 关于三种逆向云发生器的双向认知研究成果
3. 其他
关于云模型的相适应衡量方法、应用研究、瓶颈问题、外来展望等,感兴趣的小伙伴们可以看看杨洁等老师发表在计算机学报上的论文《正态云模型研究回顾与展望》
3.1 参考文献
[1] 杨洁,王国胤,刘群,郭毅可,刘悦,淦文燕,刘玉超.正态云模型研究回顾与展望[J].计算机学报,2018,41(03):724-744.
[2]卓金武等. Matlab在数学建模中的应用(第2版)[M].北京航空航天大学出版社:, 201409.324.
[3]刘常昱,冯芒,戴晓军,李德毅.基于云X信息的逆向云新算法[J].系统仿真学报,2004(11):2417-2420.
-
ansys与matlab代码-TurbineOpti:用于克里金代理模型辅助优化低速涡轮端壁的一组Matlab脚本
2021-06-02 19:47:01ansys与matlab代码涡轮优化 用于克里金代理模型辅助优化低速涡轮端壁的一组 Matlab 脚本 介绍 该软件最初是为 MathWorks Matlab:trade_mark: 运行时编写的,作为非轴对称涡轮端壁的自动设计优化程序。 优化方法基于... -
MATLAB编程源代码文件大全集合【约1000+】
2021-09-07 15:47:592013全国大学生数学建模B题matlab代码.rar 802.11a OFDM MATLAB仿真代码!(推荐).rar MATLAB DCT水印源程序代码.rar MATLAB GUI 实例.rar matlab GUI实例.rar MATLAB GUI实现动态画图曲线的源程序代码.rar matlab.rar... -
dbn模型matlab代码-Tensorflow-implementation-of-DBN-including-GBRBM-BBRBM-:使
2021-05-22 16:53:10dbn模型matlab代码包括GBRBM-BBRBM-在内的受限玻尔兹曼机器的Tensorflow实现 通过Matlab进行RBM的应用有几个缺点。 一个严重的问题是计算时间非常耗时。 因为matlab很难在云服务器上运行,所以我将基于matlab的rbm... -
基于云模型效能评估的Matlab实现.pdf
2021-07-03 16:08:54基于云模型效能评估的Matlab实现.pdf -
MATLAB实现的云模型计算隶属度
2017-03-27 16:33:58基于MATLAB实现的云模型计算隶属度 ”云”或者’云滴‘是云模型的基本单元,所谓云是指在其论域上的一个分布,可以用联合概率的形式(x, u)来表示 云模型用三个数据来表示其特征 期望:云滴在论域空间... -
ar模型matlab代码-SNICARv2:SNICAR雪模型代码(仅用于教育和研究目的)
2021-05-25 09:01:55ar模型matlab代码SNICARv2.1 联系人:朱利安·吉尔曼·康斯坦丁()(Julian Gelman Constantin),何千麟(Cenlin He)(),马克·弗兰纳(Mark G. 仅用于教育和研究目的 我们基于版本2将SNICAR雪模型代码的独立... -
matlab与云模型组合仿真
2014-03-16 11:27:34用MATLAB编写的云模型,结合PID控制比较,证明方法的有效性