max

Максимальные элементы массива

Синтаксис

M = max(A)
M = max(A,[],dim)
M = max(A,[],nanflag)
M = max(A,[],dim,nanflag)
[M,I] = max(___)
M = max(A,[],'all')
M = max(A,[],vecdim)
M = max(A,[],'all',nanflag)
M = max(A,[],vecdim,nanflag)
C = max(A,B)
C = max(A,B,nanflag)

Описание

пример

M = max(A) возвращает максимальные элементы массива.

  • Если A является вектором, то max(A) возвращает максимум A.

  • Если A является матрицей, то max(A) является вектором - строкой, содержащим максимальное значение каждого столбца.

  • Если A является многомерным массивом, то max(A) действует вдоль первого измерения массива, размер которого не равняется 1, обрабатывая элементы как векторы. Размер этой размерности становится 1, в то время как размеры всех других размерностей остаются то же самое. Если A является пустым массивом, первая размерность которого имеет нулевую длину, то max(A) возвращает пустой массив с тем же размером как A.

пример

M = max(A,[],dim) возвращает самые большие элементы по измерению dim. Например, если A является матрицей, то max(A,[],2) является вектором - столбцом, содержащим максимальное значение каждой строки.

пример

M = max(A,[],nanflag) задает, включать ли или не использовать значения NaN в вычислении. Например, max(A,[],'includenan') включает все значения NaN в A, в то время как max(A,[],'omitnan') игнорирует их.

M = max(A,[],dim,nanflag) также задает размерность, которую задает направление расчета при использовании опции nanflag.

пример

[M,I] = max(___) находит индексы максимальных значений A и возвращает их в выходном векторе I, с помощью любого из входных параметров в предыдущих синтаксисах. Если максимальное значение происходит несколько раз, то max возвращает индекс, соответствующий первому возникновению.

пример

M = max(A,[],'all') находит максимум по всем элементам A.

пример

M = max(A,[],vecdim) вычисляет максимум по размерностям, заданным в векторном vecdim. Например, если A является матрицей, то max(A,[],[1 2]) вычисляет максимум по всем элементам в A, поскольку каждый элемент матрицы содержится в срезе массивов, заданном размерностями 1 и 2.

M = max(A,[],'all',nanflag) вычисляет максимум по всем элементам A при использовании опции nanflag.

M = max(A,[],vecdim,nanflag) задает несколько размерностей, которых задают направление расчета при использовании опции nanflag.

пример

C = max(A,B) возвращает массив с самыми большими элементами, взятыми от A или B.

C = max(A,B,nanflag) также задает, как обработать значения NaN.

Примеры

свернуть все

Создайте вектор и вычислите его самый большой элемент.

A = [23 42 37 18 52];
M = max(A)
M = 52

Создайте комплексный вектор и вычислите его самый большой элемент, то есть, элемент с самым большим значением.

A = [-2+2i 4+i -1-3i];
max(A)
ans = 4.0000 + 1.0000i

Создайте матрицу и вычислите самый большой элемент в каждом столбце.

A = [2 8 4; 7 3 9]
A = 2×3

     2     8     4
     7     3     9

M = max(A)
M = 1×3

     7     8     9

Создайте матрицу и вычислите самый большой элемент в каждой строке.

A = [1.7 1.2 1.5; 1.3 1.6 1.99]
A = 2×3

    1.7000    1.2000    1.5000
    1.3000    1.6000    1.9900

M = max(A,[],2)
M = 2×1

    1.7000
    1.9900

Создайте матричный A и вычислите самые большие элементы в каждом столбце, а также индексы строки A, в котором они появляются.

A = [1 9 -2; 8 4 -5]
A = 2×3

     1     9    -2
     8     4    -5

[M,I] = max(A)
M = 1×3

     8     9    -2

I = 1×3

     2     1     1

Создайте трехмерный массив и вычислите максимум по каждой странице данных (строки и столбцы).

A(:,:,1) = [2 4; -2 1];
A(:,:,2) = [9 13; -5 7];
A(:,:,3) = [4 4; 8 -3];
M1 = max(A,[],[1 2])
M1 = 
M1(:,:,1) =

     4


M1(:,:,2) =

    13


M1(:,:,3) =

     8

Чтобы вычислить максимум по всем размерностям массива, можно или задать каждую размерность в векторном аргументе размерности или использовать опцию 'all'.

M2 = max(A,[],[1 2 3])
M2 = 13
Mall = max(A,[],'all')
Mall = 13

Создайте матрицу и возвратите самое большое значение между каждым из его элементов по сравнению со скаляром.

A = [1 7 3; 6 2 9]
A = 2×3

     1     7     3
     6     2     9

B = 5;
C = max(A,B)
C = 2×3

     5     7     5
     6     5     9

Создайте матричный A и используйте его представление столбца, A(:), чтобы найти значение и индекс самого большого элемента.

A = [8 2 4; 7 3 9]
A = 2×3

     8     2     4
     7     3     9

A(:)
ans = 6×1

     8
     7
     2
     3
     4
     9

[M,I] = max(A(:))
M = 9
I = 6

I является индексом A(:), содержащего самый большой элемент.

Теперь, используйте функцию ind2sub, чтобы извлечь индексы строки и столбца A, соответствующего самому большому элементу.

[I_row, I_col] = ind2sub(size(A),I)
I_row = 2
I_col = 3

Если вы нуждаетесь только в максимальном значении A и не его индекса, то вызываете функцию max дважды.

M = max(max(A))
M = 9

Создайте вектор и вычислите его максимум, исключая значения NaN.

A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
M = max(A,[],'omitnan')
M = 3.9800

max(A) также приведет к этому результату, поскольку 'omitnan' является опцией по умолчанию.

Используйте флаг 'includenan', чтобы возвратить NaN.

M = max(A,[],'includenan')
M = NaN

Входные параметры

свернуть все

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

  • Если A является комплексным, то max(A) возвращает комплексное число с самым большим значением. Если значения равны, то max(A) возвращает значение с самым большим значением и самым большим углом фазы.

  • Если A является скаляром, то max(A) возвращает A.

  • Если A является пустым массивом 0 на 0, то max(A) также.

Если A имеет, вводят categorical, то это должно быть порядковым.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический | категориальный | datetime | длительность
Поддержка комплексного числа: Да

Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.

dim размерности указывает на размерность, длина которой уменьшает до 1. size(M,dim) является 1, в то время как размеры всех других размерностей остаются то же самое, если size(A,dim) не является 0. Если size(A,dim) является 0, то max(A,dim) возвращает пустой массив с тем же размером как A.

Рассмотрите двумерный входной массив, A:

  • Если dim = 1, то max(A,[],1) возвращает вектор - строку, содержащий самый большой элемент в каждом столбце.

  • Если dim = 2, то max(A,[],2) возвращает вектор - столбец, содержащий самый большой элемент в каждой строке.

max возвращает A, если dim больше, чем ndims(A).

Вектор размерностей, заданных как вектор положительных целых чисел. Каждый элемент представляет размерность входного массива. Продолжительности вывода в заданных операционных размерностях равняются 1, в то время как другие остаются то же самое.

Рассмотрите 2 3 3 входными массивами, A. Затем max(A,[],[1 2]) возвращает 1 1 3 массивами, элементы которых являются максимумами, вычисленными по каждой странице A.

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Дополнительный входной массив, заданный как скаляр, вектор, матрица или многомерный массив. Числовые входные параметры A и B должны или быть одного размера или иметь размеры, которые совместимы (например, A является M-by-N матрица, и B является скаляром или 1-by-N вектор - строка). Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".

Если A и B являются datetime, длительностью или категориальными массивами, то они должны быть одного размера, если каждый не скаляр.

  • A и B должны быть совпадающим типом данных, если каждый не double. В этом случае типом данных другого массива может быть single, duration или любой целый тип.

  • Если A и B являются порядковыми категориальными массивами, у них должны быть те же наборы категорий с тем же порядком.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический | категориальный | datetime | длительность
Поддержка комплексного числа: Да

Условие NaN, заданное как одно из этих значений:

  • 'omitnan' — Проигнорируйте все значения NaN во входном параметре.

  • 'includenan' — Включайте значения NaN во входной параметр для вычисления.

Для массивов datetime можно также использовать 'omitnat' или 'includenat', чтобы не использовать и включать значения NaT, соответственно.

Функция max не поддерживает опцию nanflag для массивов categorical.

Типы данных: char

Выходные аргументы

свернуть все

Максимальные значения, возвращенные как скаляр, вектор, матрица или многомерный массив. size(M,dim) является 1, в то время как размеры всех других размерностей совпадают с размером соответствующей размерности в A, если size(A,dim) не является 0. Если size(A,dim) является 0, то M является пустым массивом с тем же размером как A.

Индексируйте к максимальным значениям A, возвращенного как скаляр, вектор, матрица или многомерный массив. I одного размера как M. Если самый большой элемент происходит несколько раз, то I содержит индекс к первому возникновению значения.

Максимальные элементы от A или B, возвращенного как скаляр, вектор, матрица или многомерный массив. Размер C определяется неявным расширением размерностей A и B. Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".

Тип данных C зависит от типов данных A и B:

  • Если A и B являются совпадающим типом данных, то C совпадает с типом данных A и B.

  • Если или A или B является single, то C является single.

  • Если или A или B являются целочисленным типом данных с другим скалярный double, то C принимает целочисленный тип данных.

Расширенные возможности

Представлено до R2006a

Была ли эта тема полезной?