首页 > 解决方案 > matlab中的两个最小值

问题描述

selection = {[1],[1,2],[1,2,3]}';
AIC = [0.00 0.01 0.00]';
for ii = 1:size(selection,1);
  sizer(ii) = size(selection{ii,1},2);
end
sizer = sizer';

pick = selection{AIC == min(AIC)}

看上面的例子,

我正在尝试选择作为最高尺寸值的最小 AIC,

我想“选择”来选择 [1,2,3] 而不是 [1]。

谢谢

标签: matlab

解决方案


您可以使用cellfunwith@size来获取所有尺寸,并使用max来获取最大尺寸:

sizes = cellfun(@size, selection, 'UniformOutput', false);
pick = max([sizes{AIC == min(AIC)}])

推荐阅读