”或者’云滴‘是云模型的基本单元,所谓云是指在其论域上的一个分布,可以用联合概率的形式(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 = ;
% 射击成绩的原始数据
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 = : size(Y,)
subplot(size(Y,)/, , i)
% 调用函数
[x, y, Ex, En, He] = cloud_transform(Y(:,i), N);
plot(x, y, 'r.');
xlabel('射击成绩分布/环');
ylabel('确定度');
title('人射击云模型还原图谱');
% 控制坐标轴的范围
% 统一坐标轴上才会在云模型形态上才具有可比性
axis([, , , ]);
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./);
He = sqrt(var(y_spor) - En.^);
% 通过统计数据样本计算云模型的数字特征
for q = :n
Enn = randn().*He + En;
x(q) = randn.*Enn + Ex;
y(q) = exp(-(x(q) - Ex).^./(.*Enn.^));
end
x;
y;

结果如下图:

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

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

基于MATLAB实现的云模型计算隶属度的更多相关文章

  1. 基于MATLAB搭建的DDS模型

    基于MATLAB搭建的DDS模型 说明: 累加器输出ufix_16_6数据,通过cast切除小数部分,在累加的过程中,带小数进行运算最后对结果进行处理,这样提高了计算精度. 关于ROM的使用: 直接设 ...

  2. 如何将Matlab中“模糊控制设计器”的隶属度函数导出图片(figure)

    如何将Matlab中"模糊控制设计器"的隶属度函数导出图片(figure)详情参考matlab官方帮助手册:plotmf()函数https://www.mathworks.com/ ...

  3. 模糊集合和隶属度函数--AForge.NET框架的使用(一)

    原文:模糊集合和隶属度函数--AForge.NET框架的使用(一) 什么是AForge.NET? AForge.NET是一个为开发人员和研究人员开发的框架,它可以用于计算机视觉,遗传算法,图像处理,神 ...

  4. LSF-SCNN:一种基于 CNN 的短文本表达模型及相似度计算的全新优化模型

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本篇文章是我在读期间,对自然语言处理中的文本相似度问题研究取得的一点小成果.如果你对自然语言处理 (natural language proc ...

  5. 基于MATLAB System Generator 搭建Display Enhancement模型

    基于MATLAB System Generator 搭建Display Enhancement模型

  6. 基于Matlab的多自由度系统固有频率及振型计算

    可参考文涛,基于Matlab语言的多自由度振动系统的固有频率及主振型计算分析,2007 对于无阻尼系统 [VEC,VAL]=eig(inv(A)*K) 对于有阻尼系统,参考振动论坛计算程序 输入M,D ...

  7. 无人机基于Matlab/Simulink的模型开发(连载一)

    "一切可以被控制的对象,都需要被数学量化" 这是笔者从事多年研发工作得出的道理,无论是车辆控制,机器人控制,飞机控制,还是无人机控制,所有和机械运动相关的控制,如果不能被很好的数学 ...

  8. 基于MATLAB的多项式数据拟合方法研究-毕业论文

    摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式 ...

  9. 阿里云 CDN 业务基于边缘容器的云原生转型实践

    导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力.架构,以及基于边缘容器 ...

随机推荐

  1. MySQL实现类似Oracle的序列

    MySQL实现类似Oracle的序列 2013-10-22 10:33:35     我来说两句      作者:走过的足迹 收藏    我要投稿 MySQL实现类似Oracle的序列   Oracl ...

  2. ionic介绍

    ionic介绍 Ionic是一个前端的框架,帮助开发者使用HTML5, CSS3和JavaScript做出原生应用. The beautiful, open source front-end fram ...

  3. ubuntu 添加管理员账户

    sudo adduser cat 输入密码即可 sudo adduser cat sudo 为cat 添加sudo 权限

  4. 我是如何用Go语言搭建自己的博客的

    前言: 话说,已经很久没有在博客园更新博客了,之前写的关于go语言的系列学习文章<让我们一起Go>也由于种种原因一度中断.但是,正如我之前在文章中所写,可以慢慢来,但是对于Go语言的学习却 ...

  5. DbUtils使用例子

    DbUtils: JDBC Utility Component Examples This page provides examples that show how DbUtils may be us ...

  6. 固态硬盘寿命实测让你直观SSD寿命!--转

    近年来,高端笔记本及系列上网本越来越多的采用固态硬盘来提升整机性能,尽管众所周知固态硬盘除 了在正常的使用中带来更快速度的体验外,还具有零噪音.不怕震动.低功耗等优点,但大家对固态硬盘的寿命问题的担忧 ...

  7. java io系列01之 "目录"

    java io 系列目录如下: 01. java io系列01之  "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括 ...

  8. [转载]浅谈组策略设置IE受信任站点

    在企业中,通常会有一些业务系统,要求必须加入到客户端IE受信任站点,才能完全正常运行访问,在没有域的情况下,可能要通过管理员手动设置,或者通过其它网络推送方法来设置. 有了域之后,这项工作就可以很好的 ...

  9. iOS-验证码倒计时60秒

    一. 要求 1.点击获取验证码按钮,60秒倒计时,按钮变成不可点击状态,按钮文字变成倒计时的秒数. 2.当倒计时为0的时候,释放掉定时器NSTimer,按钮变成可以点击状态,按钮文字变成"获 ...

  10. 第一个sprint心得及感想

    经过两个星期的努力,第一个周期的任务终于完成,通过这次团队协作,学到了很多东西,首先是把任务细分化,把大的任务分为每天完成,然后团队个人都有自己的任务份额,这样子就不会全压在一个人身上.还有就是学会了 ...