查找按另一个向量分组的元素中的最大值

这是一个官方的 MATLAB 示例

请考虑以下代码:

month = [1;1;2;3;8;1;3;4;9;11;9;12;3;4;11];
temperature = [57;61;60;62;45;59;64;66;40;56;38;65;61;64;55];
maxTemp = accumarray(month,temperature,[],@max);

下图显示了 accumarray 在这种情况下完成的计算过程:

StackOverflow 文档

在该示例中,首先收集具有相同 month 的所有值,然后将由第 4 输入到 accumarray(在这种情况下,@max) 指定的函数应用于每个这样的集合。