2013-02-27 7 views
-2

Я хочу получить индекс определенной строки в 2-мерном массиве. У меня есть массив 15 * 15 (Q), и я хочу получить индекс максимального числа 2-й строки. я писал этот код, но произошла ошибка:Поиск максимального индекса строки массива в MATLAB

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

Вы не должны получать это сообщение об ошибке из кода, который вы указали. Это не то место, где вы получаете ошибку. Кроме того, вы получаете ** значение **, а не ** индекс **. – Maroun

+0

ОК, но я не знаю, как получить его индекс – irisadaf

+0

Возможный дубликат [matlab - argmax и argmin] (http://stackoverflow.com/questions/14556733/matlab-argmax-and-argmin) – Shai

ответ

1

Вы получаете максимальное значение второго ряда, но вы хотите индекса максимального значения. Вот как получить индекс:

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

Я делаю это, но эта ошибка показана: ??? Индексирование не может дать несколько результатов. – irisadaf

+0

максимальные числа несколько, но я хочу получить индекс одного из них – irisadaf

+0

@irisadaf Я думаю, что ошибка не в показанном коде. Если 'y' является вектором, приведенный выше код работает просто отлично. – shoelzer

Смежные вопросы