基于matlab实现的云模型计算隶属度,基于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设计 ———评估下面四位选手的设计水平

选手

A

B

C

D

1

9.5

10.3

10.1

8.1

2

10.3

9.7

10.4

10.1

3

10.6

8.6

9.2

10.0

4

10.5

10.4

10.1

10.1

5

10.9

9.8

10.0

10.1

6

10.6

9.8

9.7

10.0

7

10.4

10.5

10.6

10.3

8

10.1

10.2

10.8

8.4

9

9.3

10.2

9.6

10.0

10

10.5

10.0

10.7

9.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;

结果如下图:

59aaf36d7b481a95068f7c8d45cd9f83.png

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

读  《MATLAB在数学建模中的应用》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

notebook python 内嵌 数据库_python数据分析:在jupyter notebook上使用pythonSQL做数据分析...

python数据分析:在jupyter notebook上使用python&SQL做数据分析发布时间:2019-01-14 21:14,浏览次数:1143, 标签:pythonjupyternotebookSQL类似于在jupyter上使用R语言,同样可以使用SQL语句:详细见gith…

php优化上百次foreach,php – 优化数千个项目的foreach

我在一组25,000个结果中运行下面的代码.我需要优化它,因为我达到了内存限制.$oldproducts Oldproduct::model()->findAll(); /*(here i have 25,000 results)*/foreach($oldproducts as $oldproduct) :$criteria new CDbCriteria;$criteria->compare(someid, $oldprodu…

二陈丸配什么吃不上火_宝妈一个人带孩子是什么感觉?前三种场景,不知道是怎么熬过来的...

导语:很多人认为一个家庭主妇很轻松,每天就带带孩子,其他什么都不需要做,远远没有那些人说的那么辛苦,无论是老公还是很多婆婆都认为是在家享福呢,经常就会甩出一句话“每天不就带个孩子吗?至于…

php怎么分割页面,将一个页面分成多个html文件(静态html分割页面)

静态html分割页面,达到类似PHP等动态页面的include引入页面效果。用html把首页分成三个文件web.png在PHP、JSP等动态页面开发中,页面里引入其它页面只需include()进来就可以实现页面的分离。如果用HTML,也是可以实现页面的分割的。两种方法&a…

zbar扫描无法近距离扫码_生意好时最怕收银出故障,这几个扫码枪的常见问题你一定要知道...

文|杭州丰收收不怕生意不够好,就怕生意好时收银出故障。这几天丰收收经常接到询问,说自己商铺所在的位置信号非常不好,很多客户等了很久没法付款,索性就不买了。看着上门的生意就这么走了,心里很不是滋味。遭遇这种经历…

matlab zigzag算法,ZIGZAG扫描的MATLAB实现

用MATLAB实现MPEG中的 ZIG-ZAG 扫描。觉得有点研究价值,实现的方法也很巧妙。下面给一个参照MPEG提供的方法:===function bzigzag(a)% 这是参照 University of California 提供的 MPEG 源代码的基础上编制的。% Copyri…

python工业自动化仿真_ABAQUS 中基于 Python 脚本语言开发实现仿真自动化操作

进行 ABAQUS 开发编程前,首先需要明白 ABAQUS 有限元分析思路和基本流程,以及 Python 基本语法和面向对象编程有基本的认识,下面是 Python 和 ABAQUS 的开发模板:# 注释说明本程序需要实现的项目内容和功能##--------------------…

你觉得外观模式和代理模式的联系和区别是什么?_GoF23种设计模式

UML泛化(继承非抽象类):带空心三角形的直线表示实现(继承抽象类,类实现接口):带空心三角形的虚线表示依赖:类与类之间最弱的关系,依赖可以简单的理解一个类使用了另一个类…

java url headers,Java CloseableHttpResponse.getHeaders方法代码示例

import org.apache.http.client.methods.CloseableHttpResponse; //导入方法依赖的package包/类/*** Makes a HTTP request to the given URL using the given request body,* parameters and HTTP headers. The parameters are used as URL parameters,* but if theres a para…

python tvtk库_PyCharm创建虚拟环境 和 TVTK库的安装

注:示例系统环境:Windows10 64位 Anaconda3:昨天安装TVTK库遇到些麻烦,当时随便将库下到个文件夹安装后(没找到VENV文件夹...),进行测试:from tvtk.tools import tvtk_doc结果显示No module named ‘trait…

反注入技术:防范非法 Call 调用的探讨

DLL 注入是一种常见的技术,用于向目标进程注入外部的动态链接库(DLL),以执行某些特定的操作。这种技术在恶意软件、游戏作弊等场景中被广泛使用,因此,研究和实施一些反注入技术对于提高应用程序的安全性是至…

python中的字体英文名_获取中文字体的英文名字

(方法在分割线后面,前面叙事)今天用了很久电脑,突然就觉得看着Windows下Chrome的字体觉得很不舒服,跟Mac下的差太远了,于是就开始折腾怎么设置浏览器字体。先讲一下流程,我的操作方案是:下载自己喜欢的字体…

java汉字如何通过字节传输,求助,java中怎么用字节流读写汉字

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼import java.io.*;public class ReadAndWrite{public static void main(String args[]){FileInputStream fin;FileOutputStream fout;int ch;try{int b;fin new FileInputStream(FileDescriptor.in);fout new FileOutputStream(F…

python 元类的call总结_Python 类与元类的深度挖掘 I【经验】

上一篇介绍了 Python 枚举类型的标准库,除了考虑到其实用性,还有一个重要的原因是其实现过程是一个非常好的学习、理解 Python 类与元类的例子。因此接下来两篇就以此为例,深入挖掘 Python 中类与元类背后的机制。翻开任何一本 Python 教程&a…

tp5 php跨域,TP5.1解决跨域

TP5.1解决跨域博客说明文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!介绍在前后端分离开发的时候就会遇到跨域的问题,在本地调试的时候可能不…

python中的pow怎么使用_python中的pow函数怎么用

描述pow() 方法返回 xy(x的y次方) 的值。语法以下是 math 模块 pow() 方法的语法:import mathmath.pow( x, y )内置的 pow() 方法pow(x, y[, z])函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z注意:…

nginx 配置php版本号,隐藏Apache、nginx和PHP的版本号的配置方法

最近提示说有漏洞,暴露apache、nginx和php的版本号。网上搜了下,整理的方法如下:首先说apache在http.conf文件里添加下面两行,默认是没有的ServerSignature OffServerTokens ProdServerSignature出现在Apache所产生的像404页面、目…

python爬取电子病历_利用 BERT 模型解析电子病历

项目原始地址项目地址本项目改编自此 Github 项目,鸣谢作者。问题描述我们希望能从患者住院期间的临床记录来预测该患者未来30天内是否会再次入院,该预测可以辅助医生更好的选择治疗方案并对手术风险进行评估。在临床中治疗手段常见而预后情况难以控制管…

python获取坐标颜色,python – 根据一组坐标的数据着色地图

您的第一种方法称为Voronoi diagramm对于使用D3库的javascipt,这种图表有一个解决方案为了使这个解决方案完整,我在这里粘贴M.Bostock示例中的代码var w 1280,h 800;var projection d3.geo.azimuthal().mode("equidistant").origin([-98, 38]).scale(1400).transl…

最少交换次数python_leetcode第200周赛第三题leetcode1536. 排布二进制网格的最少交换次数...

leetcode1536. 排布二进制网格的最少交换次数给你一个 n x n 的二进制网格 grid,每一次操作中,你可以选择网格的 相邻两行 进行交换。一个符合要求的网格需要满足主对角线以上的格子全部都是 0 。请你返回使网格满足要求的最少操作次数,如果无…