- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
MATLAB绘制云模型程序实例
云模型作为连接定性概念与定量描述的桥梁,在不确定性推理、数据挖掘等领域有着广泛应用。其核心思想是利用期望值(Ex)、熵(En)和超熵(He)三个数字特征来刻画定性概念的模糊性与随机性。本文将详细介绍如何在MATLAB环境下实现云模型的绘制,并通过具体程序实例展示其应用过程。
一、云模型核心概念简述
在深入程序实现之前,有必要先明确云模型的几个关键要素。期望值Ex代表了定性概念的中心值,是最能代表该概念的点。熵En则反映了定性概念的模糊程度,熵值越大,概念的边界越模糊,其取值范围也越宽。超熵He是熵的不确定性度量,即熵的熵,它反映了云滴的离散程度,超熵越大,云滴的分布越分散,云图的“厚度”也越大。
正向云发生器是云模型可视化的核心算法,其作用是根据给定的数字特征(Ex,En,He)生成若干个云滴,每个云滴都带有(x,μ)的坐标,其中x为定量值,μ为该x隶属于定性概念的确定度。
二、MATLAB实现正向云发生器
(一)算法步骤
正向云发生器的实现主要遵循以下步骤:
1.生成以En为期望值,He为标准差的正态分布随机数En_i;
2.以Ex为期望值,|En_i|为标准差生成正态分布随机数x_i,作为云滴的横坐标;
3.计算该x_i对应的确定度μ_i=exp(-(x_i-Ex)^2/(2*En_i^2));
4.重复步骤1-3,直至生成所需数量的云滴;
5.将所有(x_i,μ_i)云滴绘制在坐标系中,形成云图。
(二)程序代码实现
下面提供一个完整的MATLAB函数`CloudGenerator`,用于生成云滴数据并绘制云图。
functionCloudGenerator(Ex,En,He,N)
%云模型正向发生器
%输入参数:
%Ex:期望值
%En:熵
%He:超熵
%N:生成云滴的数量
%输出:
%绘制云图,并返回云滴数据(x,mu)
ifnargin4
error(输入参数不足,请提供Ex,En,He和N);
end
%生成N个以En为期望,He为标准差的正态随机数En_i
En_i=En+He*randn(1,N);
%生成云滴的x坐标,服从N(Ex,En_i^2)
x=Ex+En_i.*randn(1,N);
%计算每个x对应的确定度mu
mu=exp(-(x-Ex).^2./(2*En_i.^2));
%绘制云图
figure;
scatter(x,mu,30,filled,MarkerFaceAlpha,0.6);
xlabel(论域);
ylabel(确定度);
title([云模型(Ex=,num2str(Ex),,En=,num2str(En),,He=,num2str(He),)]);
gridon;
axistight;
%返回云滴数据
%CloudData=[x;mu];
end
(三)代码解读
上述函数首先对输入参数进行了简单校验,确保必要的参数(Ex,En,He,N)均已提供。核心部分在于利用MATLAB的`randn`函数生成符合正态分布的随机数。需要注意的是,在生成x坐标时,每个x_i对应的标准差是之前生成的En_i,这体现了云模型中随机性的层次。确定度μ的计算则遵循正态云模型的隶属度函数公式。
绘图部分采用了`scatter`函数,通过设置点的大小(30)、填充样式(filled)以及透明度(MarkerFaceAlpha,0.6)来增强云图的视觉效果。标题中动态显示了输入的三个数字特征,便于直观比较不同参数对云图形态的影响。
三、程序运行实例与结果分析
(一)基础示例
调用上述函数,设置一组典型参数:`CloudGenerator(5,1,0.1,500)`。这里Ex=5,En=1,He=0.1,生成500个云滴。运行后,MATLAB会弹出一个新的图形窗口,展示生成的云图。
从生成的云图中可以观察到,云滴主要围绕期望值Ex=5附近分布,呈现出中间密集、边缘稀疏的特点。确定度μ的最大值为1,出现在Ex处,随着x偏离Ex,μ值逐渐减小,这符合正态分布的特性。超熵He的存在使得En_i具有一定的波动性,因此云滴的分布并非严格对称,增加了模型的随机性。
(二)参数影响分析
通过调整不同的参数,可以观察云图的变化:
*改变Ex:例如`CloudGenerator(8,1,0.1,500)`,云图整体会沿x轴平移至新的期望值8处。
*改变En:增大En值,如`CloudGenerator(5,2,0.1,500)`,云滴在x轴方向的分布范
致力于个性化文案定制、润色和修改,拥有8年丰富经验,深厚的文案基础,能胜任演讲稿、读书感想、项目计划、演讲稿等多种文章写作任务。期待您的咨询。
文档评论(0)