Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Matlab中的群内最大值_Arrays_Matlab_Max - Fatal编程技术网

Arrays Matlab中的群内最大值

Arrays Matlab中的群内最大值,arrays,matlab,max,Arrays,Matlab,Max,我有以下矩阵: [ 2 5 7 8 1 3 4 6 5 7 3 1; 1 1 1 1 2 2 2 2 3 3 3 3;] 第一行表示值,第二行表示特征 如果第二行中的值相同,即它们的特性相同,我想得到最大值。所以,我想要的是: [8 6 7],因为当第二行是1时,8是最高值,当第二行是2时,6,当第二行是3时,7。我可以用一个循环来完成,但我想要矢量化的解决方案,如果可能的话,当然可以在一行中完成。accumarray正是您想要的 x=[ 2 5 7 8 1 3 4 6 5 7 3

我有以下矩阵:

[ 2 5 7 8  1 3 4 6  5 7 3 1;
  1 1 1 1  2 2 2 2  3 3 3 3;]
第一行表示值,第二行表示特征

如果第二行中的值相同,即它们的特性相同,我想得到最大值。所以,我想要的是:


[8 6 7]
,因为当第二行是
1
时,
8
是最高值,当第二行是
2
时,
6
,当第二行是
3
时,
7
。我可以用一个循环来完成,但我想要矢量化的解决方案,如果可能的话,当然可以在一行中完成。

accumarray
正是您想要的

x=[ 2 5 7 8 1 3 4 6 5 7 3 1; 1 1 1 1 2 2 2 2 3 3 3 3;]
accumarray(x(2,:)',x(1,:)',[],@max)

@丹尼尔:谢谢,我没有意识到<代码>accumarray!很好+1.