Ответ 1
Функция max
. Чтобы получить первое максимальное значение, вы должны сделать
[val, idx] = max(a);
val
- максимальное значение, а idx
- его индекс.
Предположим, что у меня есть массив, a = [2 5 4 7]
. Какова функция, возвращающая максимальное значение и его индекс?
Например, в моем случае эта функция должна возвращать 7 как максимальное значение, а 4 - как индекс.
Функция max
. Чтобы получить первое максимальное значение, вы должны сделать
[val, idx] = max(a);
val
- максимальное значение, а idx
- его индекс.
Для матрицы вы можете использовать это:
[M,I] = max(A(:))
я - индекс A (:), содержащий самый большой элемент.
Теперь используйте функцию ind2sub для извлечения индексов строк и столбцов A, соответствующих наибольшему элементу.
[I_row, I_col] = ind2sub(size(A),I)
источник: https://www.mathworks.com/help/matlab/ref/max.html
В случае 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)
Это вернет максимальное значение в матрице
max(M1(:))
Это вернет строку и столбец этого значения
[x,y]=ind2sub(size(M1),max(M1(:)))
Для минимума просто поменяйте слово max на min и все.