正向云发生器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为方差fori=1:nEnn=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));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=normrnd(En,He,1,n);%产生一个1*n型正态随机数矩阵,EX为期望,He为方差Xi=input('输入随机数X(1,i):');%手动输入固定随机数Xfori=1:ni;Enn=X(1,i);X(1,i)=Xi;Y(1,i)=exp(-(X(1,i)-Ex)^2/(2*Enn^2));%MeanY=mean(Y);%求所有云滴在某个固定随机数X下的平均隶属度。endfprintf('隶属度均值为:%8f\n',MeanY);plot(X(1,:),Y(1,:),'r.');disp('-----云发生器程序结束-------');