cummax

Кумулятивный максимум

Синтаксис

M = cummax(A)
M = cummax(A,dim)
M = cummax(___,direction)
M = cummax(___,nanflag)

Описание

пример

M = cummax(A) возвращает элементы кумулятивного максимума A. По умолчанию cummax(A) действует вдоль первого измерения массива, размер которого не равняется 1.

  • Если A является вектором, то cummax(A) возвращает вектор, одного размера содержащий кумулятивные максимумы A.

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

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

пример

M = cummax(A,dim) возвращает кумулятивные максимумы по измерению dim. Например, если A является матрицей, то cummax(A,2) возвращает кумулятивные максимумы вдоль строк A.

пример

M = cummax(___,direction) опционально задает направление с помощью любого из предыдущих синтаксисов. Вы должны задать A и, опционально, можете задать dim. Например, cummax(A,2,'reverse') возвращает кумулятивные максимумы A путем работы от конца до начала второго измерения A.

пример

M = cummax(___,nanflag) задает, включать ли или не использовать значения NaN от вычисления для какого-либо из предыдущих синтаксисов. cummax(A,'includenan') включает все значения NaN в вычисление, в то время как cummax(A,'omitnan') игнорирует их.

Примеры

свернуть все

Найдите кумулятивные максимумы 1 10 вектор случайных целых чисел.

v = randi(10,1,10)
v = 1×10

     9    10     2    10     7     1     3     6    10    10

M = cummax(v)
M = 1×10

     9    10    10    10    10    10    10    10    10    10

Найдите кумулятивные максимумы столбцов 3х3 матрицы.

A = [3 5 2; 1 6 3; 7 8 1]
A = 3×3

     3     5     2
     1     6     3
     7     8     1

M = cummax(A)
M = 3×3

     3     5     2
     3     6     3
     7     8     3

Найдите кумулятивные максимумы строк 3х3 матрицы.

A = [3 5 2; 1 6 3; 7 8 1]
A = 3×3

     3     5     2
     1     6     3
     7     8     1

M = cummax(A,2)
M = 3×3

     3     5     5
     1     6     6
     7     8     8

Вычислите кумулятивные максимумы в третьей размерности 2 2 3 массивами. Задайте direction как 'reverse', чтобы работать от конца третьей размерности к началу.

A = cat(3,[1 2; 3 4],[9 10; 11 12],[5 6; 7 8])
A = 
A(:,:,1) =

     1     2
     3     4


A(:,:,2) =

     9    10
    11    12


A(:,:,3) =

     5     6
     7     8

M = cummax(A,3,'reverse')
M = 
M(:,:,1) =

     9    10
    11    12


M(:,:,2) =

     9    10
    11    12


M(:,:,3) =

     5     6
     7     8

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

A = [3 5 NaN 9 0 NaN];
M = cummax(A)
M = 1×6

     3     5     5     9     9     9

Если вы включаете значения NaN в вычисление, то кумулятивный максимум становится NaN, как только с первым значением NaN в A сталкиваются.

M = cummax(A,'includenan')
M = 1×6

     3     5   NaN   NaN   NaN   NaN

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

свернуть все

Входной массив, заданный как векторный, матричный или многомерный массив. Для комплексных элементов cummax сравнивает значение элементов. Если значения равны, cummax также сравнивает углы фазы.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
Поддержка комплексного числа: Да

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

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

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

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

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

Направление накопления, заданного как 'forward' (значение по умолчанию) или 'reverse'.

  • 'forward' работает от 1 до end активной размерности.

  • 'reverse' работает от end до 1 активной размерности.

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

Условие NaN, заданное как одно из следующих значений:

  • 'omitnan' — Проигнорируйте все значения NaN во входе. Если вход имеет последовательные ведущие значения NaN, то cummax возвращает NaN в соответствующих элементах вывода. Например, cummax([NaN 7 13 6],'omitnan') возвращает вектор - строку [NaN 7 13 13].

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

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

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

свернуть все

Кумулятивные максимумы, возвращенные как вектор, матрица или многомерный массив. Размер и тип данных M совпадают с теми из A.

Советы

  • Опция 'reverse' во многих кумулятивных функциях позволяет быстрые направленные вычисления, не требуя щелчка или отражения входного массива.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| | | | |

Введенный в R2014b