discrete.asv
来自「基于粒子群优化与灰色系统理论的多目标优化程序」· ASV 代码 · 共 30 行
ASV
30 行
function xy=discrete(x,n,flag_x,dis_date,float_date)
%设计变量离散化处理m文件discrete.m
[y1,y2]=size(dis_date);
xy=zeros(1,n);
xy=x;
kf=1;
j=1;
for i=1:n
if flag_x(i)==0 %连续变量保持不变,但精确到第float_date(j)位小数
xy(1,i)=xy(1,i)*10^float_date(j);
xy(1,i)=round(xy(1,i))/10^float_date(j);
j=j+1;
elseif flag_x(i)==1 %整形变量就近取整
xy(1,i)=round(xy(1,i));
else
% flag_x(i)==2 非等距离散变量就近取离散值
for k=1:(y2-1)
if (xy(1,i)>=dis_date(kf,k))&(xy(1,i)<dis_date(kf,k+1))
if abs(xy(1,i)-dis_date(kf,k))<abs(xy(1,i)-dis_date(kf,k+1))
xy(1,i)=dis_date(kf,k);
else
xy(1,i)=dis_date(kf,k+1);
end
kf=kf+1;
break
end
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2007.8.20%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?