Найдите локальные максимумы
задает дополнительные параметры для нахождения локальных максимумов с помощью одного или нескольких аргументов пары "имя-значение". Например, TF
= islocalmax(___,Name,Value
)islocalmax(A,'SamplePoints',t)
находит локальные максимумы A
относительно меток времени, содержавшихся во временном векторе t
.
[
также возвращает выдающееся положение, соответствующее каждому элементу TF
,P
] = islocalmax(___)A
для любого из предыдущих синтаксисов.
Вычислите и постройте локальные максимумы вектора из данных.
x = 1:100;
A = (1-cos(2*pi*0.01*x)).*sin(2*pi*0.15*x);
TF = islocalmax(A);
plot(x,A,x(TF),A(TF),'r*')
Создайте матрицу данных и вычислите локальные максимумы для каждой строки.
A = 25*diag(ones(5,1)) + rand(5,5); TF = islocalmax(A,2)
TF = 5x5 logical array
0 0 1 0 0
0 1 0 0 0
0 0 1 0 0
0 1 0 1 0
0 1 0 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 = islocalmax(A,'MinSeparation',minutes(45),'SamplePoints',t); plot(t,A,t(TF),A(TF),'r*')
Задайте метод для указания на последовательные значения максимумов.
Вычислите локальные максимумы данных, которые содержат последовательные значения максимумов. Укажите на максимум каждой плоской области на основе первого вхождения того значения.
x = 0:0.1:5; A = min(0.75, sin(pi*x)); TF1 = islocalmax(A, 'FlatSelection', 'first'); plot(x,A,x(TF1),A(TF1),'r*')
Укажите на максимум каждой плоской области со всеми случаями того значения.
TF2 = islocalmax(A, 'FlatSelection', 'all'); plot(x,A,x(TF2),A(TF2),'r*')
Выберите максимумы на основе их выдающегося положения.
Вычислите локальные максимумы вектора из данных и их выдающегося положения, и затем постройте их с данными.
x = 1:100; A = peaks(100); A = A(50,:); [TF1,P] = islocalmax(A); P(TF1)
ans = 1×2
1.7703 3.5548
plot(x,A,x(TF1),A(TF1),'r*') axis tight
Вычислите только самый видный максимум в данных путем определения минимального требования выдающегося положения.
TF2 = islocalmax(A,'MinProminence',2); plot(x,A,x(TF2),A(TF2),'r*') axis tight
A
— Входные данныеВходные данные в виде вектора, матрицы, многомерного массива, таблицы или расписания.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| table
| timetable
dim
— Операционная размерностьОперационная размерность в виде положительного целочисленного скаляра. По умолчанию, islocalmax
действует по первому измерению, размер которого не равняется 1.
Например, если A
матрица, затем islocalmax(A,1)
действует вдоль строк A
, вычисление локальных максимумов для каждого столбца.
islocalmax(A,2)
действует вдоль столбцов A
, вычисление локальных максимумов для каждой строки.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
TF = islocalmax(A,'MinProminence',2)
SamplePoints
'SamplePoints' vartype
индексТочки выборки в виде разделенной запятой пары, состоящей из 'SamplePoints'
и или вектор из значений точки выборки или одна из опций в следующей таблице, когда входные данные таблица. Точки выборки представляют x - местоположения оси данных, и должны быть отсортированы и содержать уникальные элементы. Точки выборки не должны быть однородно произведены. Векторный [1 2 3 ...]
значение по умолчанию.
Когда входные данные являются таблицей, можно задать точки выборки как табличную переменную с помощью одной из следующих опций.
Опция для табличного входа | Описание | Примеры |
---|---|---|
Имя переменной | Вектор символов или скалярная строка, задающая одно имя табличной переменной |
|
Скалярный переменный индекс | Скалярный индекс табличной переменной | 3 |
Логический вектор | Логический вектор, элементы которого каждый соответствует табличной переменной, где |
|
Указатель на функцию | Указатель на функцию, который берет табличную переменную в качестве входа и возвращает логический скаляр, который должен быть |
|
vartype индекс | Табличный индекс, сгенерированный |
|
Примечание
Эта пара "имя-значение" не поддерживается, когда входными данными является 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
— Табличные переменные, чтобы работать сvartype
индексТабличные переменные, чтобы работать с в виде разделенной запятой пары, состоящей из 'DataVariables'
и одна из опций в этой таблице. 'DataVariables'
значение указывает который переменные входной таблицы исследовать на локальные максимумы. Тип данных, сопоставленный с обозначенными переменными, должен быть числовым или logical
. Другие переменные в таблице, не заданной 'DataVariables'
на не управляют, таким образом, выход содержит false
значения для тех переменных.
Опция | Описание | Примеры |
---|---|---|
Имя переменной | Вектор символов или скалярная строка, задающая одно имя табличной переменной |
|
Вектор из имен переменных | Массив ячеек из символьных векторов или массив строк, где каждым элементом является имя табличной переменной |
|
Скаляр или вектор из переменных индексов | Скаляр или вектор из индексов табличной переменной | 1 [1 3 5] |
Логический вектор | Логический вектор, элементы которого каждый соответствует табличной переменной, где |
|
Указатель на функцию | Указатель на функцию, который берет табличную переменную в качестве входа и возвращает логический скаляр |
|
vartype индекс | Табличный индекс, сгенерированный |
|
Пример: islocalmax(T,'DataVariables',["Var1" "Var2" "Var4"])
MinProminence
— Минимальное выдающееся положениеМинимальное выдающееся положение в виде разделенной запятой пары, состоящей из 'MinProminence'
и неотрицательный скаляр. islocalmax
возвращает только локальные максимумы, выдающееся положение которых является, по крайней мере, заданным значением.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProminenceWindow
— Окно ProminenceОкно Prominence в виде разделенной запятой пары, состоящей из 'ProminenceWindow'
и положительный целочисленный скаляр, двухэлементный вектор из положительных целых чисел, положительного скаляра длительности или двухэлементного вектора из положительной длительности. Значение задает окно соседних точек, для которых можно вычислить выдающееся положение для каждого локального максимума.
Когда значение окна является положительным целочисленным скаляром k, затем окно сосредоточено о каждом локальном максимуме и содержит элементы граничения k-1. Если k является четным, то окно сосредоточено о текущих и предыдущих элементах. Если локальный максимум в плоской области, то islocalmax
обрабатывает целую плоскую область как центральную точку окна.
Когда значением является двухэлементный векторный [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, islocalmax
выбирает самый большой локальный максимум и игнорирует все другие локальные максимумы в рамках заданного разделения. Этот процесс повторяется, пока больше нет локальных обнаруженных максимумов.
Когда вектор точек выборки имеет, вводят datetime
, разделительное значение должно иметь, вводят duration
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| duration
MaxNumExtrema
— Максимальное количество максимумовМаксимальное количество максимумов, обнаруженных в виде разделенной запятой пары, состоящей из 'MaxNumExtrema'
и положительный целочисленный скаляр. islocalmax
находит не больше, чем конкретное количество большинства видных максимумов, которое является длиной операционной размерности по умолчанию.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TF
— Локальный индикатор максимумовЛокальный индикатор максимумов, возвращенный как вектор, матрица или многомерный массив. TF
одного размера с A
.
Типы данных: логический
P
— Выдающееся положениеВыдающееся положение, возвращенное как вектор, матрица или многомерный массив. P
одного размера с A
.
Если входные данные имеют целое число со знаком или тип беззнаковых целых чисел, то P
беззнаковое целое.
Выдающееся положение локального максимума (или пик) измеряется, как пик выделяется относительно своей высоты и местоположения относительно другого peaks.
Чтобы измерить выдающееся положение пика, сначала расширьте горизонтальную линию от пика налево и справа от пика. Найдите, где линия пересекает данные слева и справа, который или будет другим пиком или концом данных. Отметьте эти местоположения как внешние конечные точки левых и правых интервалов. Затем найдите самый низкий овраг в обоих интервалах. Возьмите большие из этих двух оврагов и измерьте вертикальное расстояние от того оврага до пика. Это расстояние является выдающимся положением.
Для векторного x
, самое большое выдающееся положение в большей части max(x)-min(x)
.
Указания и ограничения по применению:
Длинные расписания не поддерживаются.
Необходимо задать значение для 'ProminenceWindow'
пара "имя-значение".
'MaxNumExtrema'
'MinSeparation'
, и 'SamplePoints'
пары "имя-значение" не поддерживаются.
Значение 'DataVariables'
не может быть указатель на функцию.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
Необходимо включить поддержку массивов переменного размера.
'ProminenceWindow'
пара "имя-значение" не поддерживается.
backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
max
| isoutlier
| ischange
| islocalmin
| Найдите локальные экстремальные значения
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.