max - Maximum elements of array - MATLAB (original) (raw)

Maximum elements of array

Syntax

Description

[M](#bubhhu5-1-M) = max([A](#bubhhu5-1-A)) returns the maximum elements of an array.

example

[M](#bubhhu5-1-M) = max([A](#bubhhu5-1-A),[],`"all"`) finds the maximum over all elements of A.

example

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

example

[M](#bubhhu5-1-M) = max([A](#bubhhu5-1-A),[],[vecdim](#mw%5F96d1b204-1097-4b98-bd36-1dffa686a8bc)) returns the maximum over the dimensions specified in the vectorvecdim. For example, if A is a matrix, then max(A,[],[1 2]) returns the maximum over all elements inA because every element of a matrix is contained in the array slice defined by dimensions 1 and 2.

example

[M](#bubhhu5-1-M) = max([A](#bubhhu5-1-A),[],___,[missingflag](#mw%5Fa2d64e05-e3cf-4321-96d8-f48e3c561e21)) specifies whether to omit or include missing values in A for any of the previous syntaxes. For example,max(A,[],"includemissing") includes all missing values when computing the maximum. By default, max omits missing values.

example

[[M](#bubhhu5-1-M),[I](#bubhhu5-1-I)] = max(___) also returns the index into the operating dimension that corresponds to the first occurrence of the maximum value ofA.

example

[[M](#bubhhu5-1-M),[I](#bubhhu5-1-I)] = max([A](#bubhhu5-1-A),[],___,"linear") also returns the linear index into A that corresponds to the maximum value inA.

example

[C](#bubhhu5-1-C) = max([A](#bubhhu5-1-A),[B](#bubhhu5-1-B)) returns an array with the largest elements taken from A orB.

example

[C](#bubhhu5-1-C) = max([A](#bubhhu5-1-A),[B](#bubhhu5-1-B),[missingflag](#mw%5Fa2d64e05-e3cf-4321-96d8-f48e3c561e21)) also specifies how to treat missing values.

___ = max(___,"ComparisonMethod",[method](#mw%5F449936e6-bb36-4c6f-a6e7-d7e6b951485b)) optionally specifies how to compare elements for any of the previous syntaxes. For example, for a vector A = [-1 2 -9], the syntaxmax(A,[],"ComparisonMethod","abs") compares the elements of A according to their absolute values and returns a maximum value of -9.

Examples

collapse all

Largest Vector Element

Create a vector and compute its largest element.

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

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)

Largest Element in Each Matrix Column

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

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 = 2×3

1.7000    1.2000    1.5000
1.3000    1.6000    1.9900

Maximum of Array Page

Create a 3-D array and compute the maximum over each page of data (rows and columns).

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

To compute the maximum over all dimensions of an array, you can either specify each dimension in the vector dimension argument or use the "all" option.

Largest Element Including Missing Values

Create a matrix containing NaN values.

A = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19]

A = 2×4

1.7700   -0.0050       NaN   -2.9500
   NaN    0.3400       NaN    0.1900

Compute the maximum value of the matrix, including missing values. For matrix columns that contain any NaN value, the maximum is NaN.

M = max(A,[],"includemissing")

M = 1×4

   NaN    0.3400       NaN    0.1900

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.

Return Linear Indices

Create a matrix A and return the maximum value of each row in the matrix M. Use the "linear" option to also return the linear indices I such that M = A(I).

[M,I] = max(A,[],2,"linear")

Largest Element Comparison

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

Input Arguments

collapse all

A — Input array

scalar | vector | matrix | multidimensional array | table | timetable

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

If A has type categorical, then it must be ordinal.

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

dim — Dimension to operate along

positive integer scalar

Dimension to operate along, specified as a positive integer scalar. If you do not specify the dimension, 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) is1, while the sizes of all other dimensions remain the same, unless size(A,dim) is 0. Ifsize(A,dim) is 0, thenmax(A,dim) returns an empty array with the same size as A.

Consider an m-by-n input matrix,A:

vecdim — Vector of dimensions

vector of positive integers

Vector of dimensions, specified as a vector of positive integers. Each element represents a dimension of the input array. The lengths of the output in the specified operating dimensions are 1, while the others remain the same.

Consider a 2-by-3-by-3 input array, A. Thenmax(A,[],[1 2]) returns a 1-by-1-by-3 array whose elements are the maximums computed over each page ofA.

Mapping of a 2-by-3-by-3 input array to a 1-by-1-by-3 output array

B — Additional input array

scalar | vector | matrix | multidimensional array | table | timetable

Additional input array, specified as a scalar, vector, matrix, multidimensional array, table, or timetable. Inputs A andB must either be the same size or have sizes that are compatible (for example, A is anM-by-N matrix andB is a scalar or1-by-N row vector). For more information, see Compatible Array Sizes for Basic Operations.

If B has type categorical, then it must be ordinal.

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

missingflag — Missing value condition

"omitmissing" (default) | "omitnan" | "omitnat" | "omitundefined" | "includemissing" | "includenan" | "includenat" | "includeundefined"

Missing value condition, specified as one of the values in this table.

Value Input Data Type Description
"omitmissing" All supported data types Ignore missing values in the input arrays, and compute the maximum over fewer points. If all elements in the operating dimension are missing, then the corresponding element in M is missing.
"omitnan" double, single,duration
"omitnat" datetime
"omitundefined" categorical
"includemissing" All supported data types Include missing values in the input arrays when computing the maximum. If any element in the operating dimension is missing, then the corresponding element in M is missing.
"includenan" double, single,duration
"includenat" datetime
"includeundefined" categorical

method — Comparison method

"auto" (default) | "real" | "abs"

Comparison method for numeric input, specified as one of these values:

Output Arguments

collapse all

M — Maximum values

scalar | vector | matrix | multidimensional array | table

Maximum values, returned as a scalar, vector, matrix, multidimensional array, or table. 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) is0. If size(A,dim) is0, then M is an empty array with the same size as A.

I — Index

scalar | vector | matrix | multidimensional array | table

Index, returned as a scalar, vector, matrix, multidimensional array, or table. I is the same size as the first output.

When "linear" is not specified, I is the index into the operating dimension. When "linear" is specified, I contains the linear indices ofA corresponding to the maximum values.

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 B

scalar | vector | matrix | multidimensional array | table | timetable

Maximum elements from A or B, returned as a scalar, vector, matrix, multidimensional array, table, or timetable. The size of C is determined by implicit expansion of the dimensions of A andB. For more information, see Compatible Array Sizes for Basic Operations.

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

Extended Capabilities

Tall Arrays

Calculate with arrays that have more rows than fit in memory.

Themax function supports tall arrays with the following usage notes and limitations:

For more information, see Tall Arrays.

C/C++ Code Generation

Generate C and C++ code using MATLAB® Coder™.

Usage notes and limitations:

GPU Code Generation

Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Usage notes and limitations:

HDL Code Generation

Generate VHDL, Verilog and SystemVerilog code for FPGA and ASIC designs using HDL Coder™.

Usage notes and limitations:

Thread-Based Environment

Run code in the background using MATLAB® backgroundPool or accelerate code with Parallel Computing Toolbox™ ThreadPool.

This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.

GPU Arrays

Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.

The max function fully supports GPU arrays. To run the function on a GPU, specify the input data as a gpuArray (Parallel Computing Toolbox). For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).

Distributed Arrays

Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.

Usage notes and limitations:

For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).

Version History

Introduced before R2006a

expand all

R2024b: Specifying second input array as character array is not supported

Specifying a second input array as a character array returns an error. This change minimizes confusion with other arguments that can be specified as character vectors, such as the missing value condition. To maintain the previous functionality, you can convert the second input array to double, for example,max(A,double(B),"includenan").

R2023b: Specifying second input array as character array will not be supported

Specifying a second input array as a character array gives a warning and will generate an error in a future release. This change minimizes confusion with other arguments that can be specified as character vectors, such as the missing value condition. To maintain the previous functionality, you can convert the second input array to double, for example,max(A,double(B),"includenan").

R2023a: Specify missing value condition

Omit or include all missing values in the input arrays when computing the maximum value by using the "omitmissing" or"includemissing" options. Previously,"omitnan", "includenan","omitnat", "includenat","omitundefined", and "includeundefined" specified a missing value condition that was specific to the data type of the input arrays.

R2023a: Perform calculations directly on tables and timetables

The max function can calculate on all variables within a table or timetable without indexing to access those variables. All variables must have data types that support the calculation. For more information, see Direct Calculations on Tables and Timetables.

R2021b: Specify comparison method

Specify the real or absolute value method for determining the maximum value of the input by using the ComparisonMethod parameter.

R2018b: Operate on multiple dimensions

Operate on multiple dimensions of the input arrays at a time. Specify a vector of operating dimensions, or specify the "all" option to operate on all array dimensions.