cummin
Кумулятивный минимум.
| Библиотека |
|
Синтаксис
Вызов функции
-
M = cummin(A)— возвращает кумулятивные минимальные элементы массиваA.-
Если
A— вектор, тоM— вектор того же размера и типа, содержащий кумулятивные минимумы вектораA. -
Если
A— матрица, тоM— матрица того же размера и типа, содержащая кумулятивные минимумы в каждом столбце матрицыA. -
Если
A— многомерный массив, тоM— массив того же размера и типа, содержащий кумулятивные минимумы по первому измерению массиваA, размер которого не равен1.
-
Аргументы
Входные аргументы
#
A —
входной массив
вектор | матрица | многомерный массив
Details
Входной массив, заданный как вектор, матрица или многомерный массив. Для комплексных элементов функция cummin сравнивает их амплитуды. Если амплитуды равны, cummin также сравнивает фазовые углы.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
dim —
измерение, по которому выполняется операция
положительный целочисленный скаляр
Details
Измерение, по которому выполняется операция, заданное как положительный целочисленный скаляр. Если измерение не указано, по умолчанию используется первое измерение массива, размер которого не равен 1.
Рассмотрим двумерный входной массив A:
-
cummin(A,1)работает с последовательными элементами в столбцахAи возвращает массив того же размера, что иA, с кумулятивными минимумами в каждом столбце. -
cummin(A,2)работает с последовательными элементами в строкахAи возвращает массив того же размера, что иA, с кумулятивными минимумами в каждой строке.
cummin возвращает A, если dim больше, чем ndims(A).
#
direction —
направление кумуляции
"forward" (по умолчанию) | "reverse"
Details
Направление кумуляции, заданное одним из следующих значений:
-
"forward"— работа от1до конца рабочего измерения; -
"reverse"— работа от конца до1рабочего измерения.
#
nanflag —
условие пропущенного значения
"omitmissing" (по умолчанию) | "omitnan" | "includemissing" | "includenan"
Details
Условие обработки пропущенного значения, заданное одним из следующих значений:
-
"omitmissing"или"omitnan"— игнорировать значенияNaNвAпри вычислении кумулятивных минимумов. Если вAесть последовательные начальные значенияNaN, то соответствующие элементы вMтакже являютсяNaN. Значения"omitmissing"и"omitnan"ведут себя одинаково. -
"includemissing"или"includenan"— включить значенияNaNвAпри вычислении кумулятивных минимумов. Элементы вMстановятсяNaN, как только вAвстречается первое значениеNaN. Значения"includemissing"и"includenan"ведут себя одинаково.
Выходные аргументы
#
M —
выходной массив
вектор | матрица | многомерный массив
Details
Выходной массив, возвращаемый в виде вектора, матрицы или многомерного массива.
Примеры
Кумулятивный минимум в векторе
Details
Найдем кумулятивный минимум вектора случайных целых чисел размером 1 на 10.
import EngeeDSP.Functions: randi
v = randi([0,10],1,10)
1×10 Matrix{Float64}:
9.0 2.0 8.0 2.0 10.0 3.0 2.0 2.0 6.0 5.0
import EngeeDSP.Functions: cummin
M = cummin(v)
1×10 Matrix{Float64}:
9.0 2.0 8.0 2.0 10.0 3.0 2.0 2.0 6.0 5.0
Кумулятивный минимум в столбцах матрицы
Details
Найдем кумулятивный минимум столбцов матрицы размером 3×3.
A = [3 5 2; 1 6 3; 7 8 1]
3×3 Matrix{Int64}:
3 5 2
1 6 3
7 8 1
import EngeeDSP.Functions: cummin
M = cummin(A)
3×3 Matrix{Float64}:
3.0 5.0 2.0
1.0 5.0 2.0
1.0 5.0 1.0
Кумулятивный минимум в строках матрицы
Details
Найдем кумулятивный минимум строк матрицы размером 3×3.
A = [3 5 2; 1 6 3; 7 8 1]
3×3 Matrix{Int64}:
3 5 2
1 6 3
7 8 1
import EngeeDSP.Functions: cummin
M = cummin(A, 2)
3×3 Matrix{Float64}:
3.0 3.0 2.0
1.0 1.0 1.0
7.0 7.0 1.0
Обратный кумулятивный минимум
Details
Рассчитаем кумулятивный минимум в третьем измерении массива 2×2×3. Укажем направление "reverse", чтобы вычислять значения от конца третьего измерения к началу.
A = cat([1 2; 3 4], [9 10; 11 12], [5 6; 7 8]; dims=3)
2×2×3 Array{Int64, 3}:
[:, :, 1] =
1 2
3 4
[:, :, 2] =
9 10
11 12
[:, :, 3] =
5 6
7 8
import EngeeDSP.Functions: cummin
M = cummin(A, 3, "reverse")
2×2×3 Array{Float64, 3}:
[:, :, 1] =
1.0 2.0
3.0 4.0
[:, :, 2] =
5.0 6.0
7.0 8.0
[:, :, 3] =
5.0 6.0
7.0 8.0
Кумулятивный минимум, включая пропущенные значения
Details
Создадим матрицу, содержащую значения NaN.
A = [3 5 NaN 4; 2 6 2 9; 1 3 0 NaN]
3×4 Matrix{Float64}:
3.0 5.0 NaN 4.0
2.0 6.0 2.0 9.0
1.0 3.0 0.0 NaN
Вычислим кумулятивные минимумы матрицы, включая значения NaN. Для столбцов матрицы, содержащих любое значение NaN, кумулятивные минимальные значения становятся равными NaN, как только встречается первое значение NaN.
import EngeeDSP.Functions: cummin
M = cummin(A, "includenan")
3×4 Matrix{Float64}:
3.0 5.0 NaN 4.0
2.0 5.0 NaN 4.0
1.0 3.0 NaN NaN