Find a Maximum in a Matrix

1 次查看(过去 30 天)
Florian
Florian 2012-7-16
Hello all,
I am trying to find a maximum in a 484x1800 matrix. Particularly i´d need the index of the maximum of each row.
The result should be a 484x1 vector or 1x484 with the index of each maximum on each place of the vector.
I tried a few things with find and max and max(abs.... but it seems that the subscription in a matrix does not fit with these functions.
Please help,
Thanks,

采纳的回答

Thomas
Thomas 2012-7-16
There probably is a more elegant solution but this should work
a=rand(40,10); %some random 40x10 data
for i=1:length(a)
[~,c(i),~]=find(a(i,:)==max(a(i,:)));
end
values=max(a,[],2);
% this is the largest value in each row and its position in the row
output=[c' values]

更多回答(1 个)

Sean de Wolski
Sean de Wolski 2012-7-16
X = rand(484,1800);
[maxval,idxmax] = max(X,[],2)
and for more info
doc max
  1 个评论
Thomas
Thomas 2012-7-16
+1 I forgot that max gives the value and index.. :)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by