Найти локальные минимумы
задает дополнительные параметры для нахождения локальных минимумов, используя один или несколько аргументы пары "имя-значение". Для примера, 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
A
- Входные данныеВходные данные, заданные как вектор, матрица, многомерный массив, таблица или timetable.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| table
| timetable
dim
- Рабочая размерностьРабочая размерность, заданная как положительный целочисленный скаляр По умолчанию 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
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
TF = islocalmin(A,'MinProminence',2)
'SamplePoints'
- Точки выборкиТочки выборки, заданные как разделенная разделенными запятой парами, состоящая из 'SamplePoints'
и вектор. Точки выборки представляют x местоположения данных в осях A
, и должен быть отсортирован и содержать уникальные элементы. Точки выборки не нужно равномерно отбирать. Вектор точек выборки по умолчанию [1 2 3 ...]
.
Примечание
Эта пара "имя-значение" не поддерживается, когда входные данные являются timetable
. В Timetables всегда используется вектор времени строки в качестве точек выборки. Чтобы использовать различные точки выборки, необходимо отредактировать расписание так, чтобы время в строке содержало требуемые точки выборки.
Пример: islocalmax(T,'SamplePoints',0:0.1:10)
Типы данных: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| datetime
| duration
'DataVariables'
- Табличные переменные для работыvartype
индексТабличные переменные для работы, заданные как разделенная разделенными запятой парами, состоящая из 'DataVariables'
и один из опций в этой таблице. The 'DataVariables'
значение указывает, какие переменные таблицы входа необходимо проверить на локальные минимумы. Тип данных, сопоставленный с указанными переменными, должен быть числовым или logical
. Другие переменные в таблице, не заданные 'DataVariables'
не работают, поэтому выходы содержат false
значения для этих переменных.
Опция | Описание | Примеры |
---|---|---|
Имя переменной | Вектор символов или скалярная строка, задающая имя табличной переменной |
|
Вектор имен переменных | Массив ячеек из векторов символов или строковых массивов, где каждый элемент является именем табличной переменной |
|
Скаляр или вектор переменных индексов | Скаляр или вектор табличных переменных |
|
Логический вектор | Логический вектор, элементы которого каждый соответствуют табличной переменной, где |
|
Указатель на функцию | Указатель на функцию, который принимает табличную переменную как вход и возвращает логический скаляр |
|
vartype индекс | Индекс таблицы, сгенерированный |
|
Пример: islocalmin(T,'DataVariables',["Var1" "Var2" "Var4"])
'MinProminence'
- Минимальное значениеМинимальная известность, заданная как разделенная разделенными запятой парами, состоящая из 'MinProminence'
и неотрицательный скаляр. islocalmin
возвращает только локальные минимумы, известность которых является по крайней мере заданным значением.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'ProminenceWindow'
- Окно известностиОкно 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'
(по умолчанию) | 'first'
| 'last'
| 'all'
Индикатор плоской области для, когда локальное минимальное значение повторяется последовательно, задается как разделенная разделенными запятой парами, состоящая из 'FlatSelection'
и одно из следующих:
'center'
- Указание только центрального элемента массива плоской области как локального минимума. Элемент TF
соответствующий центру плоского слоя равен 1 и равен 0 для остальных плоских элементов.
'first'
- Указание только первого элемента массива плоской области как локального минимума. Элемент TF
соответствующий началу плоского слоя равен 1 и равен 0 для остальных плоских элементов.
'last'
- Указание только последнего элемента массива плоской области как локального минимума. Элемент TF
соответствующий концу плоского слоя равен 1 и равен 0 для остальных плоских элементов.
'all'
- Укажите все элементы массива плоской области как локальные минимумы. Элементы TF
соответствующие всем частям плоской равны 1.
При использовании 'MinSeparation'
или 'MaxNumExtrema'
Пары "имя-значение" точки с плоской областью совместно считаются одной минимальной точкой.
'MinSeparation'
- Минимальное разделениеМинимальное разделение между локальными минимумами, заданное как разделенная разделенными запятой парами, состоящая из 'MinSeparation'
и неотрицательный скаляр. Значение разделения определяется в тех же модулях, что и вектор точек выборки, который [1 2 3 ...]
по умолчанию. Когда значение разделения больше 0, islocalmin
выбирает наименьший локальный минимум и игнорирует все другие локальные минимумы в пределах заданного разделения. Этот процесс повторяется до тех пор, пока не будут обнаружены локальные минимумы.
Когда вектор точек выборки имеет тип datetime
, значение разделения должно иметь тип duration
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| duration
'MaxNumExtrema'
- Максимальное количество минимумовМаксимальное количество обнаруженных минимумов, заданное как разделенная разделенными запятой парами, состоящая из 'MaxNumExtrema'
и положительный целочисленный скаляр. islocalmin
находит не более заданного числа наиболее заметных минимумов, которое является длиной рабочей размерности по умолчанию.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TF
- Локальный индикатор минимумаЛокальный индикатор минимума, возвращенный как векторный, матричный или многомерный массив. TF
- тот же размер, что и A
.
Типы данных: logical
P
- ИзвестностьИзвестность, возвращенная как векторный, матричный или многомерный массив. P
- тот же размер, что и A
.
Если входные данные имеют целый тип со знаком или без знака, то P
- беззнаковое целое число.
Известность местного минимума (или овраги) измеряет, как овраг выделяется относительно своей глубины и расположения относительно других оврагов.
Чтобы измерить известность оврага, сначала протяните горизонтальную линию от оврага налево и справа от оврага. Найдите, где линия пересекает данные слева и справа, которые будут либо другим оврагом, либо концом данных. Отметьте эти местоположения как внешние конечные точки левого и правого интервалов. Затем найдите самый высокий пик как в левом, так и в правом интервалах. Возьмите меньшие из этих двух пиков и измерьте вертикальное расстояние от этого пика до оврага. Это расстояние является известностью.
Для вектора x
самая большая известность - самое большее max(x)-min(x)
.
Указания и ограничения по применению:
Длинные расписания не поддерживаются.
Вы должны задать значение для 'ProminenceWindow'
Пара "имя-значение".
The 'MaxNumExtrema'
, 'MinSeparation'
, и 'SamplePoints'
пары "имя-значение" не поддерживаются.
Значение 'DataVariables'
не может быть указателем на функцию.
Для получения дополнительной информации см. Раздел «Длинные массивы»
Указания и ограничения по применению:
Необходимо включить поддержку массивов переменного размера.
The 'ProminenceWindow'
Пара "имя-значение" не поддерживается.
Поиск локальной экстремы | ischange
| islocalmax
| isoutlier
| min
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.