1、正向云发生器 matlab 代码%正向云算法:由数字特征到定量数据表示%直接在程序中固定 EX/EN/HE 的值Ex=0;En=1;He=0.2;n=2000;X = zeros(1,n); %产生一个 1*n 型矩阵,其元素都为 0Y = zeros(1,n);X= normrnd ( En, He, 1, n); %产生一个 1*n 型正态随机数矩阵,EX 为期望,ENN 为方差for i=1:nEnn=X(1,i);X(1, i) = normrnd ( Ex, Enn, 1) ; %产生一个正态随机数,EX 为期望,ENN 为方差(1*1 型)Y(1, i) = exp ( - (X(
2、1, i) - Ex) 2 / (2* Enn2) ) ;endplot(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 型矩阵,其元素都为 0Y = zeros(1,n);X= normr
3、nd ( En, He, 1, n); %产生一个 1*n 型正态随机数矩阵,EX 为期望,He 为方差Xi = input(输入随机数 X(1,i):); %手动输入固定随机数 Xfor i=1:ni;Enn=X(1,i);X(1, i) = Xi;Y(1, i) = exp ( - (X(1, i) - Ex) 2 / (2* Enn2) ) ;% MeanY=mean(Y); %求所有云滴在某个固定随机数 X 下的平均隶属度。endfprintf(隶属度均值为:%8fn,MeanY);plot(X(1,:),Y(1,:),r.);disp(- - - - -云发生器程序结束- - - - - - -);