Matlab结构体以及取结构体内某一列的最小值

结构体初始化:直接结构体名.变量名

比如这里Ind为结构体变量名,Ind里面又定义了变量X(数组)和fitness(值)

%个体初始化
    for i=1:NP
        Ind(i).X = (Xmax-Xmin)*rand(1,Dim)+Xmin;
        Ind(i).fitness = cec13_func(Ind(i).X(1:Dim)',FunIndex);
    end

 效果:

 

取fitness的最小值:

fitnessBestX:最小值

indexBestX:最小值的下标

将Ind().fitness全部提取出来,用cat函数将数组串联起来

再用min函数便可取到最小值

[fitnessBestX,indexBestX]=min(cat(1,Ind().fitness));

cat函数官方说明:

 

猜你喜欢

转载自blog.csdn.net/mxxxkuku/article/details/106301362