我有 3 列数据:
time = [1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16];
category = [1;1;1;1;2;2;2;2;3; 3; 3; 3; 4; 4; 4; 4];
data = [1;1;0;1;2;2;1;2;3; 3; 2; 3; 4; 4; 4; 3];
我正在使用以下内容来提取每个类别的最小数据值:
groupmin = accumarray(category,data,[],@min)
哪个输出:
groupmin = [0;1;2;3]
但是,我真的很想有一个输出也告诉我最小值来自哪个时间点,例如
timeofgroupmin = [3;7;11;16]
groupmin = [0;1; 2; 3]
或者,我希望在他们自己的向量中输出最小值,对于不是其组的最小值的任何行,使用 NaN,例如
groupminallrows = [NaN;NaN;0;NaN;NaN;NaN;1;NaN;NaN;NaN;2;NaN;NaN;NaN;NaN;3];
任何一种方法都可以解决我的问题。作为一个 Matlab 新手,我很难知道要搜索哪些术语。