islocalmin

Найдите локальные минимумы

Синтаксис

TF = islocalmin(A)
TF = islocalmin(A,dim)
TF = islocalmin(___,Name,Value)
[TF,P] = islocalmin(___)

Описание

пример

TF = islocalmin(A) возвращает логический массив, элементы которого 1 (true), когда локальный минимум обнаруживается в соответствующем элементе массива, таблицы или расписания.

пример

TF = islocalmin(A,dim) задает размерность A, чтобы действовать вперед. Например, islocalmin(A,2) находит локальные минимумы каждой строки матричного A.

пример

TF = islocalmin(___,Name,Value) задает дополнительные параметры для нахождения локальных минимумов с помощью одного или нескольких аргументов пары "имя-значение". Например, islocalmin(A,'SamplePoints',t) находит локальные минимумы A относительно меток времени содержавшимися во временном векторе t.

пример

[TF,P] = islocalmin(___) также возвращает выдающееся положение, соответствующее каждому элементу A для любого из предыдущих синтаксисов.

Примеры

свернуть все

Вычислите и постройте локальные минимумы вектора данных.

x = 1:100;
A = (1-cos(2*pi*0.01*x)).*sin(2*pi*0.15*x);
TF = islocalmin(A);
plot(x,A,x(TF),A(TF),'r*')

Создайте матрицу данных и вычислите локальные минимумы для каждой строки.

A = -25*diag(ones(5,1)) + rand(5,5);
TF = islocalmin(A,2)
TF = 5x5 logical array

   0   0   0   1   0
   0   1   0   0   0
   0   0   1   0   0
   0   0   0   1   0
   0   0   1   0   0

Вычислите локальные минимумы вектора данных относительно меток времени в векторном t. Используйте параметр 'MinSeparation', чтобы вычислить минимумы, которые на расстоянии по крайней мере в 45 минут.

t = hours(linspace(0,3,15));
A = [2 4 6 4 3 7 5 6 5 10 4 -1 -3 -2 0];
TF = islocalmin(A,'MinSeparation',minutes(45),'SamplePoints',t);
plot(t,A,t(TF),A(TF),'r*')

Задайте метод для указания на последовательные значения минимумов.

Вычислите локальные минимумы данных, которые содержат последовательные значения минимумов. Укажите на минимум каждой плоской области на основе первого вхождения того значения.

x = 0:0.1:5;
A = max(-0.75, sin(pi*x));
TF1 = islocalmin(A, 'FlatSelection', 'first');
plot(x,A,x(TF1),A(TF1),'r*')

Укажите на минимум каждой плоской области со всеми случаями того значения.

TF2 = islocalmin(A, 'FlatSelection', 'all');
plot(x,A,x(TF2),A(TF2),'r*')

Вычислите локальные минимумы вектора данных и их выдающегося положения, и затем постройте их с данными.

x = 1:100;
A = peaks(100);
A = A(50,:);
[TF1,P] = islocalmin(A);
P(TF1)
ans = 1×2

    2.7585    1.7703

plot(x,A,x(TF1),A(TF1),'r*')
axis tight

Вычислите самый видный минимум в данных путем определения минимального требования выдающегося положения.

TF2 = islocalmin(A,'MinProminence',2);
plot(x,A,x(TF2),A(TF2),'r*')
axis tight

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

свернуть все

Входные данные, заданные как вектор, матрица, многомерный массив, таблица или расписание.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | table | timetable

Операционная размерность, заданная как положительный целочисленный скаляр. По умолчанию islocalmin действует по первому измерению, размер которого не равняется 1.

Например, если A является матрицей, то islocalmin(A,1) действует вдоль строк A, вычисляя локальные минимумы для каждого столбца.

islocalmin(A,2) действует вдоль столбцов A, вычисляя локальные минимумы для каждой строки.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: TF = islocalmin(A,'MinProminence',2)

Минимальное выдающееся положение, заданное как пара, разделенная запятой, состоящая из 'MinProminence' и неотрицательного скаляра. islocalmin возвращает только локальные минимумы, выдающееся положение которых является, по крайней мере, заданным значением.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Окно Prominence, заданное как пара, разделенная запятой, состоящая из 'ProminenceWindow' и положительного целочисленного скаляра, двухэлементного вектора положительных целых чисел, положительного скаляра длительности или двухэлементного вектора положительной длительности. Значение задает окно соседних точек, для которых можно вычислить выдающееся положение для каждого локального минимума.

Когда значение окна является положительным целочисленным скаляром k, затем окно сосредоточено о каждом локальном минимуме и содержит элементы граничения k-1. Если k даже, то окно сосредоточено о текущих и предыдущих элементах. Если локальный минимум в плоской области, то islocalmin обрабатывает целую плоскую область как центральную точку окна.

Когда значением является двухэлементный векторный [b f] положительных целых чисел, затем окно содержит локальный минимум, элементы b назад и элементы f вперед. Если локальный минимум в плоской области, то окно запускает элементы b перед первой точкой области и заканчивает элементы f после последней точки области.

Когда входные данные являются расписанием или когда 'SamplePoints' задан как datetime или вектор duration, значение окна должно иметь тип duration, и окно вычисляется относительно точек выборки.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

Плоский индикатор области для того, когда локальное минимальное значение повторяется последовательно, задал как пара, разделенная запятой, состоящая из 'FlatSelection' и одно из следующего:

  • центр Укажите только на центральный элемент плоской области как локальный минимум. Элемент TF, соответствующего центру плоского, равняется 1 и 0 для остающихся плоских элементов.

  • 'first' — Укажите только на первый элемент плоской области как локальный минимум. Элемент TF, соответствующего запуску плоского, равняется 1 и 0 для остающихся плоских элементов.

  • 'last' — Укажите только на последний элемент плоской области как локальный минимум. Элемент TF, соответствующего в конец плоского, равняется 1 и 0 для остающихся плоских элементов.

  • все Укажите на все элементы плоской области как локальные минимумы. Элементы TF, соответствующего всем частям плоского, равняются 1.

При использовании 'MinSeparation' или пар "имя-значение" 'MaxNumExtrema', плоские точки области совместно рассматриваются один минимальный вопрос.

Минимальное разделение между локальными минимумами, заданными как пара, разделенная запятой, состоящая из 'MinSeparation' и неотрицательного скаляра. Разделительное значение задано в тех же модулях как вектор точек выборки, который является [1 2 3 ...] по умолчанию. Когда разделительное значение больше, чем 0, islocalmin выбирает наименьший локальный минимум и игнорирует все другие локальные минимумы в рамках заданного разделения. Этот процесс повторяется, пока больше нет локальных обнаруженных минимумов.

Когда вектор точек выборки имеет, вводят datetime, разделительное значение должно иметь, вводят duration.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

Максимальное количество минимумов, обнаруженных, заданных как пара, разделенная запятой, состоящая из 'MaxNumExtrema' и положительного целочисленного скаляра. islocalmin находит не больше, чем конкретное количество большинства видных минимумов, которое является длиной операционной размерности по умолчанию.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Точки выборки, заданные как пара, разделенная запятой, состоящая из 'SamplePoints' и вектора. Точки выборки представляют местоположение данных в A. Точки выборки не должны быть однородно выбраны, но должны быть отсортированы с уникальными элементами. По умолчанию вектором точек выборки является [1 2 3 ...].

islocalmin не поддерживает эту пару "имя-значение", когда входные данные являются расписанием.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration

Табличные переменные, заданные как пара, разделенная запятой, состоящая из 'DataVariables' и имени переменной, массива ячеек имен переменных, числового вектора, логического вектора или указателя на функцию. Значение 'DataVariables' указывает который столбцы входной таблицы или расписания, чтобы работать с. Это значение может быть одним из следующего:

  • Вектор символов, задающий одно имя табличной переменной

  • Массив ячеек из символьных векторов, где каждый элемент является именем табличной переменной

  • Вектор индексов табличной переменной

  • Логический вектор, элементы которого каждый соответствует табличной переменной, где true включает соответствующую переменную и false, исключает его

  • Указатель на функцию, который берет табличную переменную в качестве входа и возвращает логический скаляр

Заданные табличные переменные должны иметь числовой или тип logical.

Пример: 'Age'

Пример: {'Height','Weight'}

Пример: @isnumeric

Типы данных: char | cell | double | single | logical | function_handle

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

свернуть все

Локальный индикатор минимумов, возвращенный как вектор, матрица или многомерный массив. TF одного размера как A.

Типы данных: логический

Выдающееся положение, возвращенное как вектор, матрица или многомерный массив. P одного размера как A.

Если входные данные имеют целое число со знаком или тип беззнаковых целых чисел, то P является беззнаковым целым.

Больше о

свернуть все

Выдающееся положение локального минимума

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

Чтобы измерить выдающееся положение долины, сначала расширьте горизонтальную строку от долины налево и справа от долины. Найдите, где строка пересекает данные слева и справа, который или будет другой долиной или концом данных. Отметьте эти местоположения как внешние конечные точки левых и правых интервалов. Затем, найдите самый высокий пик в обоих левыми и правыми интервалами. Возьмите меньший из этих двух peaks и измерьте вертикальное расстояние от того пика до долины. Это расстояние является выдающимся положением.

Для векторного x самое большое выдающееся положение в большей части max(x)-min(x).

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

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

| | |

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте