Maximum elements of array
Syntax
Description
example
M
= max(A
)
returns the maximum elements of an array.
-
If
A
is a vector, then
max(A)
returns the maximum of
A
. -
If
A
is a matrix, then
max(A)
is a row vector containing the maximum
value of each column ofA
. -
If
A
is a multidimensional array, then
max(A)
operates along the first dimension of
A
whose size is greater than
1
, treating the elements as vectors. The size
ofM
in this dimension becomes
1
, while the sizes of all other dimensions
remain the same as inA
. IfA
is an empty array whose first dimension has zero length, then
M
is an empty array with the same size as
A
. -
If
A
is a
table or timetable, thenmax(A)
returns a one-row
table containing the maximum of each variable. (since R2023a)
example
M
= max(A
,[],"all"
)
finds the maximum over all elements of A
.
example
M
= max(A
,[],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
= max(A
,[],vecdim
)
returns the maximum over the dimensions specified in the vector
vecdim
. For example, if A
is a matrix,
then max(A,[],[1 2])
returns the maximum over all elements in
A
because every element of a matrix is contained in the
array slice defined by dimensions 1 and 2.
example
M
= max(A
,[],___,missingflag
)
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
,I
] =
max(___)
also returns the index into the operating dimension that corresponds to the
first occurrence of the maximum value of A
.
example
[
M
,I
] =
max(A
,[],___,"linear")
also returns the linear index into A
that corresponds to the
maximum value in A
.
example
C
= max(A
,B
)
returns an array with the largest elements taken from A
or
B
.
C
= max(A
,B
,missingflag
)
also specifies how to treat missing values.
___ = max(___,"ComparisonMethod",
method
)
optionally specifies how to compare elements for any of the previous syntaxes.
For example, for a vector A = [-1 2 -9]
, the syntax
max(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
is complex, thenmax(A)
returns
the complex number with the largest magnitude. If magnitudes are
equal, thenmax(A)
returns the value with the largest
magnitude and the largest phase angle. -
If
A
is a scalar, thenmax(A)
returnsA
. -
If
A
is a 0-by-0 empty array, thenmax(A)
is
as well.
If A
has type categorical
, then it
must be ordinal.
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 of size greater than 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 an m
-by-n
input matrix,
A
:
-
max(A,[],1)
computes the maximum of the
elements in each column ofA
and returns a
1
-by-n
row
vector. -
max(A,[],2)
computes the maximum of the
elements in each row ofA
and returns an
m
-by-1
column
vector.
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
. Then
max(A,[],[1 2])
returns a 1-by-1-by-3 array whose
elements are the maximums computed over each page of
A
.
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
and B
must
either be the same size or have sizes that are compatible (for example,
A
is an M
-by-N
matrix and B
is a scalar or
1
-by-N
row vector). For more
information, see Compatible Array Sizes for Basic Operations.
-
If
A
andB
are both arrays,
then they must be the same data type unless one is a
double
. In that case, the data type of the
other array can besingle
,
duration
, or any integer type. -
If
A
andB
are ordinal
categorical
arrays, they must have the same
sets of categories with the same order. -
If either
A
orB
is a table
or timetable, then the other input can be an array, table, or
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 ismissing. |
"omitnan" |
double , single ,duration |
|
"omitnat" |
datetime |
|
"omitundefined" |
categorical |
|
"includemissing" |
All supported data types |
Include missing values in the input |
"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:
-
"auto"
— For a numeric input array
A
, compare elements by
real(A)
whenA
is real,
and byabs(A)
whenA
is
complex. -
"real"
— For a numeric input array
A
, compare elements by
real(A)
whenA
is real or
complex. IfA
has elements with equal real parts,
then useimag(A)
to break ties. -
"abs"
— For a numeric input array
A
, compare elements by
abs(A)
whenA
is real or
complex. IfA
has elements with equal magnitude,
then useangle(A)
in the interval (-π,π] to break
ties.
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)
is
0
. If size(A,dim)
is
0
, 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 of
A
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
and B
. For more
information, see Compatible Array Sizes for Basic Operations.
The data type of C
depends on the data types
of A
and B
:
-
If
A
andB
are
the same data type, thenC
matches the data type
ofA
andB
. -
If either
A
orB
issingle
,
thenC
issingle
. -
If either
A
orB
is
an integer data type with the other a scalardouble
,
thenC
assumes the integer data type. -
If either
A
orB
is a
table or timetable, thenC
is a table or
timetable.
Extended Capabilities
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
This function fully supports tall arrays. For
more information, see Tall Arrays.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
-
If you specify an empty array for the second argument in order to
supplydim
ormissingflag
, the
second argument must be of fixed-size and of dimension
0
-by-0
. -
If you specify
dim
or
missingflag
, then they must be constants. -
If the input is a variable-size array, the length of the dimension to
operate along must not be zero at run-time. -
See Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder).
-
See Code Generation for Complex Data with Zero-Valued Imaginary Parts (MATLAB Coder).
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
Usage notes and limitations:
-
If you specify an empty array for the second argument in order to
supplydim
ormissingflag
, the
second argument must be of fixed-size and of dimension
0
-by-0
. -
If you specify
dim
or
missingflag
, then they must be constants. -
See Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder).
-
See Code Generation for Complex Data with Zero-Valued Imaginary Parts (MATLAB Coder).
HDL Code Generation
Generate Verilog and VHDL code for FPGA and ASIC designs using HDL Coder™.
Usage notes and limitations:
-
Inputs of 3-D matrices or greater are not supported.
-
Inputs that have complex data types are not supported.
-
Input matrices or vectors must be of equal size.
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™.
This function fully supports GPU arrays. 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™.
This function fully supports distributed arrays. For more
information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Version History
Introduced before R2006a
expand all
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.
Максимальные элементы массива
Синтаксис
Описание
пример
возвращает максимальные элементы массива.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
для любого из предыдущих синтаксисов.
пример
находит максимум по всем элементам M
= max(A
,[],'all'
)A
. Этот синтаксис допустим для MATLAB® версии R2018b и позже.
пример
вычисляет максимум по размерностям, заданным в векторном 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
опция.
[
возвращает линейный индекс в M
,I
] =
max(A
,[],'all'
,___)A
это соответствует максимальному значению в A
при определении 'all'
.
пример
[
возвращает линейный индекс в M
,I
] =
max(A
,[],___,'linear')A
это соответствует максимальному значению в A
.
пример
возвращает массив с самыми большими элементами, взятыми из C
= max(A
,B
)A
или B
.
также задает, как обработать C
= max(A
,B
,nanflag
)NaN
значения.
___ = max(___,'ComparisonMethod',
опционально задает, как сравнить элементы для любого из предыдущих синтаксисов. Например, для векторного method
)A = [-1 2 -9]
, синтаксис max(A,[],'ComparisonMethod','abs')
сравнивает элементы A
согласно их абсолютным значениям и возвращает -9
.
Примеры
свернуть все
Самый большой векторный элемент
Создайте вектор и вычислите его самый большой элемент.
A = [23 42 37 18 52]; M = max(A)
Самый большой комплексный элемент
Создайте комплексный вектор и вычислите его самый большой элемент, то есть, элемент с самой большой величиной.
A = [-2+2i 4+i -1-3i]; max(A)
Самый большой элемент в каждом столбце матрицы
Создайте матрицу и вычислите самый большой элемент в каждом столбце.
Самый большой элемент в каждой матричной строке
Создайте матрицу и вычислите самый большой элемент в каждой строке.
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
Самое большое включение элемента NaN
Создайте вектор и вычислите его максимум, исключая NaN
значения.
A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
M = max(A,[],'omitnan')
max(A)
также приведет к этому результату начиная с 'omitnan'
опция по умолчанию.
Используйте 'includenan'
отметьте, чтобы возвратить NaN
.
M = max(A,[],'includenan')
Самые большие индексы элемента
Создайте матричный A
и вычислите самые большие элементы в каждом столбце, а также индексы строки A
в котором они появляются.
Максимум страницы массивов
Создайте трехмерный массив и вычислите максимум по каждой странице данных (строки и столбцы).
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
Начиная в R2018b, вычислять максимум по всем размерностям массива, можно или задать каждую размерность в векторном аргументе размерности или использовать 'all'
опция.
Возвратите линейные индексы
Создайте матричный A
и возвратите максимальное значение каждой строки в матричном M
. Используйте 'linear'
опция, чтобы также возвратить линейные индексы I
таким образом, что M = A(I)
.
[M,I] = max(A,[],2,'linear')
Самое большое сравнение элемента
Создайте матрицу и возвратите самое большое значение между каждым из его элементов по сравнению со скаляром.
Входные параметры
свернуть все
A
— Входной массив
скаляр | вектор | матрица | многомерный массив
Входной массив, заданный как скалярный, векторный, матричный или многомерный массив.
-
Если
A
является комплексным, затемmax(A)
возвращает комплексное число с самой большой величиной. Если величины равны, тоmax(A)
возвращает значение с самой большой величиной и самым большим углом фазы. -
Если
A
скаляр, затемmax(A)
возвращаетA
. -
Если
A
пустой массив 0 на 0, затемmax(A)
также.
Если A
имеет вводят categorical
, затем это должно быть порядковым.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| categorical
| datetime
| duration
Поддержка комплексного числа: Да
dim
— Размерность, которая задает направление расчета
положительный целочисленный скаляр
Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 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)
.
vecdim
— Вектор из размерностей
вектор из положительных целых чисел
Вектор из размерностей в виде вектора из положительных целых чисел. Каждый элемент представляет размерность входного массива. Продолжительности выхода в заданных операционных размерностях равняются 1, в то время как другие остаются то же самое.
Рассмотрите 2 3х3 входным массивом, A
. Затем max(A,[],[1 2])
возвращает 1 1 3 массивами, элементами которых являются максимумы, вычисленные по каждой странице A
.
Типы данных: double |
single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
B
— Дополнительный входной массив
скаляр | вектор | матрица | многомерный массив
Дополнительный входной массив в виде скаляра, вектора, матрицы или многомерного массива. Входные параметры A
и B
должен или быть одного размера или иметь размеры, которые совместимы (например, A
M
– N
матрица и B
скаляр или 1
– N
вектор-строка). Для получения дополнительной информации см. “Совместимые размеры массивов для основных операций”.
-
A
иB
должен быть совпадающий тип данных, если каждый неdouble
. В этом случае типом данных другого массива может бытьsingle
длительность
, или любой целочисленный тип. -
Если
A
иB
порядковыйcategorical
массивы, у них должны быть те же наборы категорий с тем же порядком.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| categorical
| datetime
| duration
Поддержка комплексного числа: Да
nanflag
NaN
условие
'omitnan'
(значение по умолчанию) | 'includenan'
NaN
условие в виде одного из этих значений:
-
'omitnan'
— Проигнорируйте весьNaN
значения во входе. Если всеми элементами являетсяNaN
, затемmax
возвращает первый. -
'includenan'
— ВключайтеNaN
значения во входе для вычисления.
Для datetime
массивы, можно также использовать 'omitnat'
или 'includenat'
не использовать и включать NaT
значения, соответственно.
Для categorical
массивы, можно также использовать 'omitundefined'
или 'includeundefined'
не использовать и включать неопределенные значения, соответственно.
Типы данных: char
method
‘ComparisonMethod’
'auto'
(значение по умолчанию) | 'real'
| 'abs'
Метод сравнения для числового входа в виде одного из этих значений:
-
'auto'
— Для числового входного массиваA
, сравните элементыreal(A)
когдаA
действительно, иabs(A)
когдаA
является комплексным. -
'real'
— Для числового входного массиваA
, сравните элементыreal(A)
когдаA
является действительным или комплексным. ЕслиA
имеет элементы с равными действительными частями, затем используйтеimag(A)
повредить связи. -
'abs'
— Для числового входного массиваA
, сравните элементыabs(A)
когдаA
является действительным или комплексным. ЕслиA
имеет элементы с равной величиной, затем используйтеangle(A)
в интервале (-π,π], чтобы повредить связи.
Выходные аргументы
свернуть все
M
— Максимальные значения
скаляр | вектор | матрица | многомерный массив
Максимальные значения, возвращенные как скаляр, вектор, матрица или многомерный массив. size(M,dim)
1
, в то время как размеры всех других размерностей совпадают с размером соответствующей размерности в A
, если size(A,dim)
0
. Если size(A,dim)
0
, затем M
пустой массив с тем же размером как A
.
I
— Индекс
скаляр | вектор | матрица | многомерный массив
Индексируйте, возвращенный как скаляр, вектор, матрица или многомерный массив. I
одного размера с первым выходом.
Когда 'linear'
не задан, I
индекс в операционную размерность. Когда 'linear'
задан, I
содержит линейные индексы A
соответствие максимальным значениям.
Если самый большой элемент происходит несколько раз, то I
содержит индекс к первому вхождению значения.
C
— Максимальные элементы от A
или B
скаляр | вектор | матрица | многомерный массив
Максимальные элементы от A
или B
, возвращенный как скаляр, вектор, матрица или многомерный массив. Размер C
определяется неявным расширением размерностей A
и B
Для получения дополнительной информации см. “Совместимые размеры массивов для основных операций”.
Тип данных C
зависит от типов данных A
и B
:
-
Если
A
иB
совпадающий тип данных, затемC
совпадает с типом данныхA
иB
. -
Если любой
A
илиB
single
, затемC
single
. -
Если любой
A
илиB
целочисленный тип данных с другим скалярныйdouble
, затемC
принимает целочисленный тип данных.
Расширенные возможности
“Высокие” массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Указания и ограничения по применению:
-
Если вы задаете пустой массив для второго аргумента для того, чтобы предоставить
dim
илиnanflag
, второй аргумент должен иметь фиксированный размер и размерности0
–0
. -
Если вы задаете
dim
илиnanflag
, затем они должны быть константами. -
Если вход является массивом переменного размера, длина размерности, которой задает направление расчета не должна быть нулем во времени выполнения.
-
“Смотрите информацию о генерации кода функций Toolbox (MATLAB Coder) в разделе “”Ограничения переменных размеров””.”.
-
Смотрите генерацию кода для комплексных данных с мнимыми частями с нулевым знаком (MATLAB Coder).
Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.
Указания и ограничения по применению:
-
Если вы задаете пустой массив для второго аргумента для того, чтобы предоставить
dim
илиnanflag
, второй аргумент должен иметь фиксированный размер и размерности0
–0
. -
Если вы задаете
dim
илиnanflag
, затем они должны быть константами. -
“Смотрите информацию о генерации кода функций Toolbox (MATLAB Coder) в разделе “”Ограничения переменных размеров””.”.
-
Смотрите генерацию кода для комплексных данных с мнимыми частями с нулевым знаком (MATLAB Coder).
Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
Представлено до R2006a
Main Content
This example describes how to analyze a simple function to find its asymptotes, maximum, minimum, and inflection point.
Define a Function
The function in this example is
f(x)=3×2+6x-1×2+x-3.
First, create the function.
syms x
num = 3*x^2 + 6*x -1;
denom = x^2 + x - 3;
f = num/denom
Plot the function by using fplot
. The fplot
function automatically shows vertical asymptotes.
Find Asymptotes
To find the horizontal asymptote of f mathematically, take the limit of f as x approaches positive infinity.
The limit as x approaches negative infinity is also 3. This result means the line y=3 is a horizontal asymptote to f.
To find the vertical asymptotes of f, set the denominator equal to 0 and solve it.
roots
indicates that the vertical asymptotes are the lines
x=-1-132
and
x=-1+132.
Find Maximum and Minimum
You can see from the graph that f has a local maximum between the points x=–2 and x=0. It also has a local minimum between x=–6 and x=–2. To find the x-coordinates of the maximum and minimum, first take the derivative of f.
f1 =6 x+6x2+x-3-2 x+1 3 x2+6 x-1x2+x-32
To simplify this expression, enter the following.
f1 =-3 x2+16 x+17x2+x-32
Next, set the derivative equal to 0 and solve for the critical points.
crit_pts =(-133-83133-83)
As the graph of f shows, the function has a local minimum at
x1=-8-133
and a local maximum at
x1=-8+133.
Plot the maximum and minimum of f
.
fplot(f) hold on plot(double(crit_pts), double(subs(f,crit_pts)),'ro') title('Maximum and Minimum of f') text(-4.8,5.5,'Local minimum') text(-2,4,'Local maximum') hold off
Find Inflection Point
To find the inflection point of f, set the second derivative equal to 0 and solve for this condition.
f2 = diff(f1);
inflec_pt = solve(f2,'MaxDegree',3);
double(inflec_pt)
ans = 3×1 complex
-5.2635 + 0.0000i
-1.3682 - 0.8511i
-1.3682 + 0.8511i
In this example, only the first element is a real number, so this is the only inflection point. MATLAB® does not always return the roots to an equation in the same order.
Instead of selecting the real root by indexing into inter_pt
, identify the real root by determining which roots have a zero-valued imaginary part.
idx = imag(double(inflec_pt)) == 0; inflec_pt = inflec_pt(idx)
inflec_pt =-139 16954-2197181/3-16954-2197181/3-83
Plot the inflection point. The extra argument [-9 6]
in fplot
extends the range of x values in the plot so that you can see the inflection point more clearly, as the figure shows.
fplot(f,[-9 6]) hold on plot(double(inflec_pt), double(subs(f,inflec_pt)),'ro') title('Inflection Point of f') text(-7,1,'Inflection point') hold off
Suppose I have an array, a = [2 5 4 7]
. What is the function returning the maximum value and its index?
For example, in my case that function should return 7 as the maximum value and 4 as the index.
gnovice
125k15 gold badges256 silver badges359 bronze badges
asked Nov 23, 2012 at 14:24
3
The function is max
. To obtain the first maximum value you should do
[val, idx] = max(a);
val
is the maximum value and idx
is its index.
NKN
6,4546 gold badges36 silver badges55 bronze badges
answered Nov 23, 2012 at 14:26
AcorbeAcorbe
8,3255 gold badges37 silver badges66 bronze badges
2
For a matrix you can use this:
[M,I] = max(A(:))
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)
source: https://www.mathworks.com/help/matlab/ref/max.html
answered Mar 31, 2017 at 15:53
MohsenMohsen
3141 gold badge4 silver badges14 bronze badges
In case of a 2D array (matrix), you can use:
[val, idx] = max(A, [], 2);
The idx part will contain the column number of containing the max element of each row.
NKN
6,4546 gold badges36 silver badges55 bronze badges
answered Sep 4, 2016 at 12:41
You can use max() to get the max value. The max function can also return the index of the maximum value in the vector. To get this, assign the result of the call to max to a two element vector instead of just a single variable.
e.g.
z is your array,
>> [x, y] = max(z)
x =
7
y =
4
Here, 7 is the largest number at the 4th position(index).
NKN
6,4546 gold badges36 silver badges55 bronze badges
answered Nov 23, 2012 at 14:34
bonCodigobonCodigo
14.2k1 gold badge48 silver badges90 bronze badges
3D case
Modifying Mohsen’s answer for 3D array:
[M,I] = max (A(:));
[ind1, ind2, ind3] = ind2sub(size(A),I)
answered Jul 5, 2017 at 14:53
user3804598user3804598
3555 silver badges9 bronze badges
1
This will return the maximum value in a matrix
max(M1(:))
This will return the row and the column of that value
[x,y]=ind2sub(size(M1),max(M1(:)))
For minimum just swap the word max with min and that’s all.
answered May 21, 2019 at 11:27
For example:
max_a = max(a)
a.index(max_a)
answered Mar 14, 2021 at 18:20
PobaranchukPobaranchuk
8299 silver badges13 bronze badges
Introduction to Matlab max
In Matlab ‘max’ function is used to find or calculate the maximum element from a given database. It compares all the values in integers and returns the maximum value. Max function supports single dimensional datasets as well as multidimensional datasets. It also performs on all data – types like integers, floating numbers, characters, complex numbers, and strings. If the dataset is having null values, then there are different methods to consider such values. It has various options like ‘omitnan’, ’includenan’, dim’, ’nanflag’, etc.
Syntax
- max( Input variable name )
min ( Input )
- max ( input variable name , [ ] , dimensions )
max ( Input , [ ] , 1 ) , max ( input , [ ] , 2 )
- max ( input variable name , [ ] , ‘ includenan ’ )
max ( Input , [ ] , ‘ includenan ’ )
- max ( input variable name , [ ] , ’ omitnan ’ )
min ( Input , [ ] , ‘ omitnan ’ )
How does max function work in Matlab?
Max function performs on series of elements, if the dataset is one dimensional in the form of vectors or array, then it is simple to calculate maximum elements, but if the dataset is multidimensional and large elements are present in the dataset, then it is a complicated process. This function calculates the maximum value individually on each row and each column. The maximum of characters and strings is calculated based on the ASCII value of all elements.
Examples
Here are the following examples mention below
Example #1
Let us consider one array of integer elements 76, 65, 45, 78, 43, 32, which is declared as input. All the elements are integers; therefore max function will give 78 as output, which is illustrated in example 1(a).In example 1(b) ,input data is in form of characters like ‘A’,’V’,’M’,’R’,’C’,’D’,’F’. min function will find out ascii values first, and then it will calculate the maximum value. Therefore the smallest value maximum value is 86. And if the dataset is an array of strings, the string is an array of characters; therefore in strings, also max function performs like characters only. In example 1(c ), input is ‘HELLO’, ‘HI’, ‘BYE’, ‘GOOD’. This function will consider the first letter of each letter, and by comparing all the first letters, we will get 89 as output which is the ascii value of character ‘Y’.
Matlab code for Example 1(a):
clc ;
clear all;
input = [76, 65, 45, 78 , 43, 32]
disp ('Output ')
max (input)
Output:
Matlab code for Example 1(b):
clc ;
clear all ;
input = [ 'A', 'V', 'M', 'R', 'C', 'D', 'F' ]
disp ('Output ')
max (input)
Output:
Matlab code for Example 1(c ):
clc ;
clear all ;
input = [ 'HELLO', 'HI', 'BYE', 'GOOD' ]
disp ('Output ')
max (input)
Output:
Example #2
Let us consider one example with a multidimensional database. In example 2(a), input has three columns and four rows; if we apply the max function on input, we will get three values as output. These three values are the maximum elements of each column. We can also instruct the dimensionality of the matrix. If we want maximum values concerning columns, then the ‘1’ dimension is used, which is illustrated in Example 2(b), and if we want maximum value concerning rows, then the ‘2’ dimension is used, which is illustrated in example 2(c).
Matlab code for Example 2 ( a ):
clc;
clear all;
input = [45 ,34, 87 ; 65, 54, 34 ; 67, 68, 65 ; 65, 67, 5 2 ]
disp ('Output ')
max (input)
Output:
Matlab code for Example 2 (b):
clc;
clear all;
input = [45 , 34, 87 ; 65, 54, 34 ; 67, 68, 65 ; 65, 67, 52 ]
disp ('Output ')
max (input, [ ] , 1 )
Output:
Matlab code for Example 2(c):
clc;
clear all;
input = [45 ,34, 87 ; 65, 54, 34 ; 67, 68, 65 ; 65, 67, 52 ]
disp ('Output ')
max ( input, [ ] , 2)
Output:
Example #3
If some values are missing or some values are Null in a database, then there is one way to perform on such databases. Nan represents null values. If there are NaN values in the database and we apply the min function without any instruction, then automatically, it will ignore the NaN values. There are two ways in max function. One is omitnan, and the second is includenan. ‘Omitnan’ will ignore NaN values, and ‘Includenan’ will consider NaN values. In example 3(a), ‘omitnan’ is used; this will ignore all Nan values and compare other values. And in example 3(b), includenan function is used, which will include the presence of Nan value and directly give output as Nan by considering Nan is the maximum element.
Matlab code for Example 3(a):
clc ;
clear all ;
input = [4, 6, 34, 21, 1, 2, NaN, NaN, 45, 3 4, NaN]
disp ('Output ')
max (input, [ ], 'omitnan')
Output:
Matlab code for Example 3(b):
clc ;
clear all ;
input = [4, 6, 34, 21, 1, 2, NaN, NaN, 45, 34, NaN]
disp ('Output ')
max (input, [ ], 'includenan')
Output:
Conclusion
In this article, we have seen the ‘max’ function. This function compares all elements from the database and finds the maximum value from the database. There is no limitation of dimensionality of the dataset to use this operation. Along with all types of datasets, it also works on all data – types like integers, floating numbers, complex numbers, characters, and strings.
Recommended Articles
This is a guide to Matlab max. Here we discuss How does max function works in Matlab and examples along with the codes and outputs. You may also look at the following articles to learn more –
- Matlab gca
- Matlab Double Integral
- Signal Processing Matlab
- Matlab fplot()