Как найти максимальное значение и его индекс в массиве в MATLAB?
Предположим у меня есть массив, a = [2 5 4 7]
. Что такое функция, возвращающая максимальное значение и его индекс?
например, в моем случае эта функция должна возвращать 7 как максимальное значение и 4 как индекс.
5 ответов
функция max
. Получить первое максимальное значение, вы должны сделать
[val, idx] = max(a);
val
- максимальное значение и idx
- это его индекс.
для матрицы вы можете использовать это:
[M,I] = max(A(:))
I-индекс A (:), содержащий наибольший элемент.
теперь используйте функцию ind2sub для извлечения индексов строк и столбцов, соответствующих наибольшему элементу.
[I_row, I_col] = ind2sub(size(A),I)
в случае с 2D массива (матрицы), вы можете использовать:
[val, idx] = max(A, [], 2);
часть idx будет содержать номер столбца, содержащий максимальный элемент каждой строки.
вы можете использовать max () для получения максимального значения. Функция max также может возвращать индекс максимального значения в векторе. Чтобы получить это, назначьте результат вызова max вектору двух элементов вместо одной переменной.
например, z-Ваш массив,
>> [x, y] = max(z)
x =
7
y =
4
здесь 7-наибольшее число на 4-й позиции (индекс).
3D чехол
изменение ответа Мохсена для 3D-массива:
[M,I] = max (A(:));
[ind1, ind2, ind3] = ind2sub(size(A),I)