2013-02-27 101 views
-2

我想获得二维数组中特定行的索引。我有一个15 * 15的数组(Q),我想获得第二排最大数目的索引。 我写了这个代码,但出现错误:在MATLAB中查找一行数组的最大索引

y=Q(2,:); 
x=max(y) 
??? Subscript indices must either be real positive integers or logicals. 
+1

您不应该从您提供的代码中获取此错误消息。这不是你得到错误的地方。另外,你得到**值**而不是**索引**。 – Maroun 2013-02-27 18:34:37

+0

好的,但我不知道如何得到它的索引 – irisadaf 2013-02-27 18:51:49

+0

可能重复的[matlab - argmax和argmin](http://stackoverflow.com/questions/14556733/matlab-argmax-and-argmin) – Shai 2013-02-27 19:54:05

回答

1

你所得到的最大值的第二排,但你想要的最大值的指数。以下是如何获得索引:

[~, index] = max(y) 
+0

我这样做,但显示此错误:???索引不能产生多个结果。 – irisadaf 2013-02-27 18:48:49

+0

最大数字是多个,但我想要得到其中之一的索引 – irisadaf 2013-02-27 18:50:20

+0

@irisadaf我认为错误不在所示的代码中。如果'y'是一个向量,上面的代码工作得很好。 – shoelzer 2013-02-27 18:52:45