У меня есть 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, я изо всех сил пытаюсь понять, какие термины искать.