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*')

Figure contains an axes object. The axes object contains 2 objects of type line.

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

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*')

Figure contains an axes object. The axes object contains 2 objects of type line.

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

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

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*')

Figure contains an axes object. The axes object contains 2 objects of type line.

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

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

Figure contains an axes object. The axes object contains 2 objects of type line.

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

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

Figure contains an axes object. The axes object contains 2 objects of type line.

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

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

Figure contains an axes object. The axes object contains 2 objects of type line.

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

свернуть все

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

Типы данных: 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,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: TF = islocalmin(A,'MinProminence',2)
Опции данных

свернуть все

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

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

Опция для табличного входаОписаниеПримеры
Имя переменной

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

'Var1'

"Var1"

Скалярный переменный индекс

Скалярный индекс табличной переменной

3

Логический вектор

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

[true false false]

Указатель на функцию

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

@isnumeric

vartype индекс

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

vartype('numeric')

Примечание

Эта пара "имя-значение" не поддерживается, когда входными данными является timetable. Расписания всегда используют вектор времен строки как точки выборки. Чтобы использовать различные точки выборки, необходимо отредактировать расписание так, чтобы времена строки содержали желаемые точки выборки.

Пример: islocalmax(A,'SamplePoints',0:0.1:10)

Пример: islocalmax(T,'SamplePoints',"Var1")

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

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

ОпцияОписаниеПримеры
Имя переменной

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

'Var1'

"Var1"

Вектор из имен переменных

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

{'Var1' 'Var2'}

["Var1" "Var2"]

Скаляр или вектор из переменных индексов

Скаляр или вектор из индексов табличной переменной

1

[1 3 5]

Логический вектор

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

[true false true]

Указатель на функцию

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

@isnumeric

vartype индекс

Табличный индекс, сгенерированный vartype функция

vartype('numeric')

Пример: islocalmin(T,'DataVariables',["Var1" "Var2" "Var4"])

Опции обнаружения Extrema

свернуть все

Минимальное выдающееся положение в виде разделенной запятой пары, состоящей из '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' и одно из следующего:

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

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

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

  • 'all' — Укажите на все элементы плоской области как локальные минимумы. Элементы 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

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

свернуть все

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

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

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

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

Больше о

свернуть все

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

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

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

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

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

Введенный в R2017b