# max

Largest elements in array

## Description

example

M = max(A) returns the largest elements of A.

• If A is a vector, then max(A) returns the largest element of A.

• If A is a matrix, then max(A) is a row vector containing the maximum value of each column.

• If A is a multidimensional array, then max(A) operates along the first array dimension whose size does not equal 1, treating the elements as vectors. The size of this dimension becomes 1 while the sizes of all other dimensions remain the same. If A is an empty array with first dimension 0, then max(A) returns an empty array with the same size as A.

example

M = max(A,[],dim) returns the largest elements along dimension dim. For example, if A is a matrix, then max(A,[],2) is a column vector containing the maximum value of each row.

example

[M,I] = max(___) finds the indices of the maximum values of A and returns them in output vector I, using any of the input arguments in the previous syntaxes. If the maximum value occurs more than once, then max returns the index corresponding to the first occurrence.

example

C = max(A,B) returns an array the same size as A and B with the largest elements taken from A or B. Either the dimensions of A and B are the same, or one can be a scalar.

example

___ = max(___,nanflag) specifies whether to include or omit NaN values in the calculation for any of the previous syntaxes. For the single input case, to specify nanflag without specifying dim, use max(A,[],nanflag). For example, max(A,[],'includenan') includes all NaN values in A while max(A,[],'omitnan') ignores them.

## Examples

collapse all

### Largest Vector Element

Create a vector and compute its largest element.

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

52

### Largest Complex Element

Create a complex vector and compute its largest element, that is, the element with the largest magnitude.

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

4.0000 + 1.0000i

### Largest Element in Each Matrix Column

Create a matrix and compute the largest element in each column.

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

2     8     4
7     3     9

M = max(A)
M =

7     8     9

### Largest Element in Each Matrix Row

Create a matrix and compute the largest element in each row.

A = [1.7 1.2 1.5; 1.3 1.6 1.99]
A =

1.7000    1.2000    1.5000
1.3000    1.6000    1.9900

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

1.7000
1.9900

### Largest Element Indices

Create a matrix A and compute the largest elements in each column, as well as the row indices of A in which they appear.

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

1     9    -2
8     4    -5

[M,I] = max(A)
M =

8     9    -2

I =

2     1     1

### Largest Element Comparison

Create a matrix and return the largest value between each of its elements compared to a scalar.

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

1     7     3
6     2     9

B = 5;
C = max(A,B)
C =

5     7     5
6     5     9

### Largest Element in Matrix

Create a matrix A and use its column representation, A(:), to find the value and index of the largest element.

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

8     2     4
7     3     9

A(:)
ans =

8
7
2
3
4
9

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

9

I =

6

I is the index of A(:) containing the largest element.

Now, use the ind2sub function to extract the row and column indices of A corresponding to the largest element.

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

2

I_col =

3

If you need only the maximum value of A and not its index, then call the max function twice.

M = max(max(A))
M =

9

### Largest Element Involving NaN

Create a vector and compute its maximum, excluding NaN values.

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

3.9800

max(A) will also produce this result since 'omitnan' is the default option.

Use the 'includenan' flag to return NaN.

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

NaN

## Input Arguments

collapse all

### A — Input arrayscalar | vector | matrix | multidimensional array

Input array, specified as a scalar, vector, matrix, or multidimensional array.

• If A is complex, then max(A) returns the complex number with the largest magnitude. If magnitudes are equal, then max(A) returns the value with the largest magnitude and the largest phase angle.

• If A is a scalar, then max(A) returns A.

• If A is a 0-by-0 empty array, then max(A) is as well.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical | datetime | duration
Complex Number Support: Yes

### dim — Dimension to operate alongpositive integer scalar

Dimension to operate along, specified as a positive integer scalar. If no value is specified, then the default is the first array dimension whose size does not equal 1.

Dimension dim indicates the dimension whose length reduces to 1. The size(M,dim) is 1, while the sizes of all other dimensions remain the same, unless size(A,dim) is 0. If size(A,dim) is 0, then max(A,dim) returns an empty array with the same size as A.

Consider a two-dimensional input array, A:

• If dim = 1, then max(A,[],1) returns a row vector containing the largest element in each column.

• If dim = 2, then max(A,[],2) returns a column vector containing the largest element in each row.

max returns A if dim is greater than ndims(A).

### B — Additional input arrayscalar | vector | matrix | multidimensional array

Additional input array, specified as a scalar, vector, matrix, or multidimensional array.

• The dimensions of A and B must match, or one can be a scalar.

• A and B can be the same data type or one can be double with the other single, duration, or any integer data type.

• If A and B are ordinal categorical arrays, they must have the same sets of categories with the same order.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical | datetime | duration
Complex Number Support: Yes

### nanflag — NaN condition‘omitnan' (default) | ‘includenan'

NaN condition, specified as one of these values:

• omitnan' — Ignore all NaN values in the input.

• includenan' — Include the NaN values in the input for the calculation.

The max function does not support the nanflag option for categorical arrays. For datetime arrays, NaT is treated like NaN.

Data Types: char

## Output Arguments

collapse all

### M — Maximum valuesscalar | vector | matrix | multidimensional array

Maximum values, returned as a scalar, vector, matrix, or multidimensional array. size(M,dim) is 1, while the sizes of all other dimensions match the size of the corresponding dimension in A, unless size(A,dim) is 0. If size(A,dim) is 0, then M is an empty array with the same size as A.

### I — Index to maximum values of Ascalar | vector | matrix | multidimensional array

Index to maximum values of A, returned as a scalar, vector, matrix, or multidimensional array. I is the same size as M. If the largest element occurs more than once, then I contains the index to the first occurrence of the value.

### C — Maximum elements from A or Bscalar | vector | matrix | multidimensional array

Maximum elements from A or B, returned as a scalar, vector, matrix, or multidimensional array.

The size of C depends on the sizes of A and B:

• If A and B are arrays of the same size, then the size of C matches the size of A and B.

• If either A or B is a scalar, then the size of C matches the size of the nonscalar input array.

• If either A or B is an empty array with the other a scalar, then C is an empty array.

The data type of C depends on the data types of A and B:

• If A and B are the same data type, then C matches the data type of A and B.

• If either A or B is single, then C is single.

• If either A or B is an integer data type with the other a scalar double, then C assumes the integer data type.