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 + -
显示快捷键?