正向云发生器代码(matlab)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正向云发生器matlab代码
%正向云算法:由数字特征到定量数据表示
%直接在程序中固定EX/EN/HE的值
Ex=0;
En=1;
He=0.2;
n=2000;
X = zeros(1,n); %产生一个1*n型矩阵,其元素都为0
Y = zeros(1,n);
X= normrnd ( En, He, 1, n); %产生一个1*n型正态随机数矩阵,EX为期望,ENN为方差for i=1:n
Enn=X(1,i);
X(1, i) = normrnd ( Ex, Enn, 1) ; %产生一个正态随机数,EX为期望,ENN为方差(1*1型) Y(1, i) = exp ( - (X(1, i) - Ex) ^2 / (2* Enn^2) ) ;
end
plot(X(1,:),Y(1,:),'r.'); %画图语句
%倘若X(1,i)是确定的随机数时,本代码是自己输入确定值
%保存为.m文件时,文件名要是字母名,不要中文名
disp('- - - - -云发生器程序开始- - - - -');
Ex = input('输入期望值Ex:');
En = input('输入熵值En:');
He = input('输入超熵值He:');
n = input('输入需重复计算次数:');
X = zeros(1,n); %产生一个1*n型矩阵,其元素都为0
Y = zeros(1,n);
X= normrnd ( En, He, 1, n); %产生一个1*n型正态随机数矩阵,EX为期望,He为方差Xi = input('输入随机数X(1,i):'); %手动输入固定随机数X
for i=1:n
i;
Enn=X(1,i);
X(1, i) = Xi;
Y(1, i) = exp ( - (X(1, i) - Ex) ^2 / (2* Enn^2) ) ;
% MeanY=mean(Y); %求所有云滴在某个固定随机数X下的平均隶属度。end
fprintf('隶属度均值为:%8f\n',MeanY);
plot(X(1,:),Y(1,:),'r.');
disp('- - - - -云发生器程序结束- - - - - - -');