mlab
matplotlib.mlab
Числовые функции Python, написанные для совместимости с командами MATLAB с одинаковыми именами.
Функции, совместимые с MATLAB
-
cohere() - Когерентность (нормализованная взаимная спектральная плотность)
-
csd() - Взаимная спектральная плотность с использованием усреднённого периодограммы Уэлча
-
detrend() - Удаление среднего значения или наилучшей аппроксимирующей прямой из массива
-
find() - Возвращает индексы, где выполняется некоторое условие; numpy.nonzero аналогичен, но более общий.
-
griddata() - Интерполяция данных с нерегулярным распределением на регулярную сетку.
-
prctile() - Нахождение процентилей последовательности
-
prepca() - Анализ главных компонент
-
psd() - Плотность спектральной мощности с использованием усреднённого периодограммы Уэлча
-
rk4() - Интегратор четвёртого порядка Рунге–Кутты для 1D или ND систем
-
specgram() - Спектрограмма (спектр по сегментам времени)
Разные функции
Функции, которых нет в MATLAB, но которые всё равно полезны:
-
cohere_pairs() - Когерентность по всем парам. Это не функция MATLAB, но мы часто вычисляем когерентность в нашей лаборатории, и мы вычисляем её для многих пар. Эта функция оптимизирована для эффективного выполнения этой задачи путём кэширования прямых преобразований Фурье.
-
rk4() - Интегратор обыкновенных дифференциальных уравнений четвёртого порядка Рунге–Кутты на случай, если вы окажетесь без scipy (и гораздо более совершенных инструментов scipy.integrate).
-
contiguous_regions() - Возвращает индексы областей, охватываемых некоторым логическим маском.
-
cross_from_below() - Возвращает индексы, где одномерный массив пересекает порог снизу.
-
cross_from_above() - Возвращает индексы, где одномерный массив пересекает порог сверху.
-
complex_spectrum() - Возвращает комплекснозначный частотный спектр сигнала.
-
magnitude_spectrum() - Возвращает величину частотного спектра сигнала.
-
angle_spectrum() - Возвращает угол (упакованную фазу) частотного спектра сигнала.
-
phase_spectrum() - Возвращает фазу (неупакованный угол) частотного спектра сигнала.
-
detrend_mean() - Удаляет среднее значение из прямой.
-
demean() - Удаляет среднее значение из прямой. Эта функция такая же, как
detrend_mean(), за исключением значения по умолчанию axis. -
detrend_linear() - Удаляет наилучшую аппроксимирующую прямую из прямой.
-
detrend_none() - Возвращает исходную прямую.
-
stride_windows() - Получает все окна в массиве с высокой эффективностью использования памяти.
-
stride_repeat() - Повторяет массив с высокой эффективностью использования памяти.
-
apply_window() - Применение окна вдоль заданной оси.
Вспомогательные функции для массивов записей
Набор вспомогательных методов для массивов записей numpy.
См. Разное-
rec2txt() - Красивый вывод массива записей.
-
rec2csv() - Сохранение массива записей в файле CSV.
-
csv2rec() - Импорт массива записей из файла CSV с проверкой типа.
-
rec_append_fields() - Добавление поля(ей)/массива(ов) к массиву записей.
-
rec_drop_fields() - Удаление полей из массива записей.
-
rec_join() - Объединение двух массивов записей по последовательности полей.
-
recs_join() - Простое объединение нескольких массивов rec с использованием одного столбца в качестве ключа.
-
rec_groupby() - Обобщение данных по группам (аналогично SQL GROUP BY).
-
rec_summarize() - Вспомогательный код для фильтрации полей массива rec в новые поля.
Для функций просмотра массивов rec (например, rec2csv) существует множество объектов Format, которые можно передать в функции для задач, таких как выделение отрицательных значений красным цветом, установка форматирования процентов и масштабирования и т. д.
Пример использования:
r = csv2rec('somefile.csv', checkrows=0)
formatd = dict(
weight = FormatFloat(2),
change = FormatPercent(2),
cost = FormatThousands(2),
)
rec2excel(r, 'test.xls', formatd=formatd)
rec2csv(r, 'test.csv', formatd=formatd)
-
class matplotlib.mlab.FormatBool(**kwargs)[source] -
Bases:
matplotlib.mlab.FormatObjУстаревшая начиная с версии 2.2: Класс FormatBool был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
fromstr(s)[source]
-
toval(x)[source]
-
-
class matplotlib.mlab.FormatDate(**kwargs)[source] -
Bases:
matplotlib.mlab.FormatObjУстаревшая начиная с версии 2.2: Класс FormatDate был устаревшим в Matplotlib 2.2 и будет удалён в 3.1. Используйте date.strftime вместо него.
-
fromstr(x)[source]
-
toval(x)[source]
-
-
class matplotlib.mlab.FormatDatetime(**kwargs)[source] -
Bases:
matplotlib.mlab.FormatDateУстаревшая начиная с версии 2.2: Класс FormatDatetime был устаревшим в Matplotlib 2.2 и будет удалён в 3.1. Используйте datetime.strftime вместо него.
-
fromstr(x)[source]
-
-
class matplotlib.mlab.FormatFloat(**kwargs)[source] -
Базы:
matplotlib.mlab.FormatFormatStrУстарело начиная с версии 2.2: Класс FormatFloat был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
fromstr(s)[source]
-
toval(x)[source]
-
-
class matplotlib.mlab.FormatFormatStr(**kwargs)[source] -
Базы:
matplotlib.mlab.FormatObjУстарело начиная с версии 2.2: Класс FormatFormatStr был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
tostr(x)[source]
-
-
class matplotlib.mlab.FormatInt(**kwargs)[source] -
Базы:
matplotlib.mlab.FormatObjУстарело начиная с версии 2.2: Класс FormatInt был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
fromstr(s)[source]
-
tostr(x)[source]
-
toval(x)[source]
-
-
class matplotlib.mlab.FormatMillions(**kwargs)[source] -
Базы:
matplotlib.mlab.FormatFloatУстарело начиная с версии 2.2: Класс FormatMillions был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
class matplotlib.mlab.FormatObj(**kwargs)[source] -
Базы:
objectУстарело начиная с версии 2.2: Класс FormatObj был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
fromstr(s)[source]
-
tostr(x)[source]
-
toval(x)[source]
-
-
class matplotlib.mlab.FormatPercent(**kwargs)[source] -
Базы:
matplotlib.mlab.FormatFloatУстарело начиная с версии 2.2: Класс FormatPercent был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
class matplotlib.mlab.FormatString(**kwargs)[source] -
Базы:
matplotlib.mlab.FormatObjУстарело начиная с версии 2.2: Класс FormatString был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
tostr(x)[source]
-
-
class matplotlib.mlab.FormatThousands(**kwargs)[source] -
Базы:
matplotlib.mlab.FormatFloatУстарело начиная с версии 2.2: Класс FormatThousands был устаревшим в Matplotlib 2.2 и будет удалён в 3.1.
-
class matplotlib.mlab.GaussianKDE(dataset, bw_method=None)[source] -
Базы:
objectПредставление оценки плотности ядра с использованием гауссовых ядер.
Параметры: -
dataset : array_like -
Точки данных для оценки. В случае одномерных данных это одномерный массив, в противном случае двумерный массив с формой (# измерений, # данных).
-
bw_method : str, scalar or callable, optional -
Метод, используемый для вычисления ширины полосы оценивателя. Может быть 'scott', 'silverman', скалярной константой или вызываемой функцией. Если скаляр, это будет использоваться непосредственно как
kde.factor. Если вызываемая функция, она должна принять экземплярGaussianKDEв качестве единственного параметра и вернуть скаляр. Если None (по умолчанию), используется 'scott'.
Атрибуты: -
dataset : ndarray -
Набор данных, с которым
gaussian_kdeбыл инициализирован. -
dim : int -
Число измерений.
-
num_dp : int -
Количество точек данных.
-
factor : float -
Коэффициент полосы пропускания, полученный от
kde.covariance_factor, с которым умножается ковариационная матрица. -
covariance : ndarray -
Ковариационная матрица
dataset, масштабированная на рассчитанную ширину полосы пропускания (kde.factor). -
inv_cov : ndarray -
Обратная величина
covariance.
Методы
kde.evaluate(points) (ndarray) Оценить плотность вероятностей на заданном наборе точек. kde(points) (ndarray) То же самое, что и kde.evaluate(points) -
covariance_factor()
-
evaluate(points)[source] -
Оценить плотность вероятностей на наборе точек.
Параметры: -
points : (# of dimensions, # of points)-array -
В качестве альтернативы можно передать вектор (# измерений,) и обработать его как единственную точку.
Возвращает: -
values : (# of points,)-array -
Значения в каждой точке.
Возможные исключения: -
ValueError : if the dimensionality of the input points is different -
чем размерность KDE.
-
-
scotts_factor()[source]
-
silverman_factor()[source]
-
-
class matplotlib.mlab.PCA(**kwargs)[source] -
Основы:
objectУстарело начиная с версии 2.2: Класс PCA был устарел в Matplotlib 2.2 и будет удалён в версии 3.1.
-
center(x)[source] -
Центрировать и, необязательно, стандартизировать данные, используя среднее и сигма из обучающей выборки а
-
project(x, minfrac=0.0)[source] -
Проецировать x на главные оси, отбрасывая любые оси, где доля дисперсии <minfrac
-
-
matplotlib.mlab.amap(fn, *args)[source] -
Устарело начиная с версии 2.2: Функция amap была устарела в Matplotlib 2.2 и будет удалена в версии 3.1. Используйте numpy.array(list(map(...))) вместо неё.
amap(function, sequence[, sequence, ...]) -> array.
Работает как
map(), но возвращает массив. Это просто удобный сокращённый вариант дляnumpy.array(map(...)).
-
matplotlib.mlab.angle_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)[source] -
Вычислить угол спектра частот (спектра фаз, обернутого вокруг) x. Данные дополняются до длины pad_to, и к сигналу применяется функция окна window.
Параметры: -
x : 1-D array or sequence -
Массив или последовательность, содержащая данные
-
Fs : scalar -
Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию равно 2.
-
window : callable or ndarray -
Функция или вектор длины NFFT. Для создания векторов окон см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т. д. По умолчанию используетсяwindow_hanning(). Если в качестве аргумента передается функция, она должна принимать фрагмент данных в качестве аргумента и возвращать окнозированную версию фрагмента. -
sides : {'default', 'onesided', 'twosided'} -
Определяет, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение, возвращая односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, 'twosided' — двусторонний.
-
pad_to : int -
Количество точек, до которых дополняется фрагмент данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит отобразить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным длине входного сигнала (т. е. без дополнения).
Возвращает: -
spectrum : 1-D array -
Значения для спектра угла в радианах (вещественные)
-
freqs : 1-D array -
Частоты, соответствующие элементам в spectrum
См. также
-
complex_spectrum() - Эта функция возвращает значение угла для
complex_spectrum(). -
magnitude_spectrum() -
angle_spectrum()возвращает величины соответствующих частот. -
phase_spectrum() -
phase_spectrum()возвращает разобранную версию этой функции. -
specgram() -
specgram()может возвращать спектр углов фрагментов внутри сигнала.
-
-
matplotlib.mlab.apply_window(x, window, axis=0, return_window=None)[source] -
Применить заданное окно к заданному одномерному или двумерному массиву вдоль заданной оси.
Параметры: -
x : 1D or 2D array or sequence -
Массив или последовательность, содержащая данные.
-
window : function or array. -
Либо функция для генерации окна, либо массив длиной x.shape[axis]
-
axis : integer -
Ось, вдоль которой выполняется повторение. Должно быть 0 или 1. По умолчанию 0
-
return_window : bool -
Если True, также вернуть одномерные значения окна, которое было применено
-
-
matplotlib.mlab.base_repr(number, base=2, padding=0)[source] -
Устарело начиная с версии 2.2: Функция base_repr была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвратить представление числа в заданном основании.
-
matplotlib.mlab.binary_repr(number, max_length=1025)[source] -
Устарело начиная с версии 2.2: Функция binary_repr была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвратить двоичное представление входного числа в виде строки.
Это более эффективно, чем использование
base_repr()с основанием 2.Увеличьте значение max_length для очень больших чисел. Обратите внимание, что на 32-разрядных машинах 2**1023 — это наибольшая целая степень двойки, которая может быть преобразована в число с плавающей запятой Python.
-
matplotlib.mlab.bivariate_normal(X, Y, sigmax=1.0, sigmay=1.0, mux=0.0, muy=0.0, sigmaxy=0.0)[source] -
Устарело начиная с версии 2.2: Функция bivariate_normal была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Двумерное распределение Гаусса для массивов X, Y одинаковой формы.
См. двумерное нормальное распределение на mathworld.
-
matplotlib.mlab.center_matrix(M, dim=0)[source] -
Устарело начиная с версии 2.2: Функция center_matrix была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвратить матрицу M, в которой каждая строка имеет среднее значение 0 и стандартное отклонение 1.
Если dim = 1, действовать по столбцам вместо строк. (dim противоположно аргументу numpy axis.)
-
matplotlib.mlab.cohere(x, y, NFFT=256, Fs=2, detrend=<function detrend_none>, window=<function window_hanning>, noverlap=0, pad_to=None, sides='default', scale_by_freq=None)[source] -
Когерентность между x и y. Когерентность — это нормированная кросс-спектральная плотность:

Параметры: - x, y
-
Массив или последовательность, содержащая данные
-
Fs : scalar -
Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах на единицу времени. Значение по умолчанию равно 2.
-
window : callable or ndarray -
Функция или вектор длины NFFT. Для создания векторов окон см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т. д. Значение по умолчанию —window_hanning(). Если в качестве аргумента передана функция, она должна принять сегмент данных в качестве аргумента и вернуть оконную версию сегмента. -
sides : {'default', 'onesided', 'twosided'} -
Определяет, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение, возвращающее односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
-
pad_to : int -
Количество точек, на которое дополняется сегмент данных при выполнении FFT. Это может отличаться от NFFT, которое определяет количество точек данных. Несмотря на то, что это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, которое устанавливает pad_to равным NFFT
-
NFFT : int -
Количество точек данных, используемых в каждом блоке для FFT. Степень 2 наиболее эффективна. Значение по умолчанию равно 256. Это НЕ должно использоваться для получения нулевого заполнения, или масштабирование результата будет некорректным. Используйте pad_to для этого вместо этого.
-
detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед выполнением fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль
mlabопределяетdetrend_none(),detrend_mean()иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant' и 'mean' вызываютdetrend_mean(). 'linear' вызываетdetrend_linear(). 'none' вызываетdetrend_none(). -
scale_by_freq : bool, optional -
Указывает, должны ли значения плотности масштабироваться по частоте масштабирования, что дает плотность в единицах Hz^-1. Это позволяет интегрировать возвращенные значения частоты. По умолчанию True для совместимости с MATLAB.
-
noverlap : integer -
Количество точек перекрытия между блоками. Значение по умолчанию равно 0 (без перекрытия).
Возвращает: - Возвращаемое значение — кортеж (*Cxy*, *f*), где *f* — частоты вектора когерентности. Для cohere масштабирование отдельных плотностей по частоте дискретизации не влияет,
- поскольку множители сокращаются.
-
matplotlib.mlab.cohere_pairs(X, ij, NFFT=256, Fs=2, detrend=<function detrend_none>, window=<function window_hanning>, noverlap=0, preferSpeedOverMemory=True, progressCallback=<function donothing_callback>, returnPxx=False)[source] -
Устарело начиная с версии 2.2: scipy.signal.coherence
Вычислить когерентность и фазу для всех пар ij в X.
X — массив numSamples * numCols
ij — список кортежей. Каждый кортеж — это пара индексов в столбцах X, для которых нужно вычислить когерентность. Например, если X имеет 64 столбца, и вы хотите вычислить все нередунданные пары, определите ij как:
ij = [] for i in range(64): for j in range(i+1,64): ij.append( (i,j) )preferSpeedOverMemory — необязательный bool. Значение по умолчанию — true. Если False, ограничивает кэширование, делая только один, а не два, комплексных массива кэша. Это полезно, если память становится критической. Даже когда preferSpeedOverMemory равен False,
cohere_pairs()по-прежнему обеспечит значительный прирост производительности по сравнению с вызовомcohere()для каждой пары и будет использовать существенно меньше памяти, чем если preferSpeedOverMemory равен True. В моих тестах с массивом 43000,64 по всем нередунданным парам preferSpeedOverMemory = True обеспечил прирост производительности на 33% на Athlon 1.7 ГГц с 512 МБ ОЗУ по сравнению с preferSpeedOverMemory = False. Но оба решения были более чем в 10 раз быстрее, чем при грубой обработке всех возможных пар с помощьюcohere().Возвращает: -
Cxy : dictionary of (i, j) tuples -> coherence vector for -
для этой пары. Например,
Cxy[(i,j) = cohere(X[:,i], X[:,j]). Количество ключей словаря равноlen(ij). -
Phase : dictionary of phases of the cross spectral density at -
вектор частот для каждой пары. Ключи — (i, j).
-
freqs : vector of frequencies, equal in length to either the -
векторы когерентности или фазы для любого ключа (i, j).
- Например, чтобы создать график когерентности Боде:
-
subplot(211) plot( freqs, Cxy[(12,19)]) subplot(212) plot( freqs, Phase[(12,19)])
- Для большого количества пар :func:`cohere_pairs` может быть намного
- эффективнее, чем просто вызов :func:`cohere` для каждой пары, потому что
- она кэширует большинство интенсивных вычислений. Если :math:`N` —
- количество пар, эта функция имеет сложность :math:`O(N)` для большей
- части интенсивных вычислений, тогда как вызов cohere для каждой пары
- имеет сложность :math:`O(N^2)`. Однако из-за кэширования она также более
- емкоемкая, создавая 2 дополнительных комплексных массива с
- приблизительно таким же количеством элементов, как и *X*.
- См. :file:`test/cohere_pairs_test.py` в дереве src для примерного
- скрипта, показывающего, что :func:`cohere_pairs` и
- :func:`cohere` дают одинаковые результаты для заданной пары.
См. также
-
psd() - Для получения информации о методах вычисления
,
и
.
-
-
matplotlib.mlab.complex_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)[source] -
Вычислить комплексный частотный спектр x. Данные дополняются до длины pad_to, и к сигналу применяется функция оконного фильтра window.
Параметры: -
x : 1-D array or sequence -
Массив или последовательность, содержащая данные
-
Fs : scalar -
Частота дискретизации (образцы в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию равно 2.
-
window : callable or ndarray -
Функция или вектор длиной NFFT. Для создания векторов окон см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т. д. Значение по умолчанию —window_hanning(). Если в качестве аргумента передана функция, она должна принимать фрагмент данных и возвращать оконную версию фрагмента. -
sides : {'default', 'onesided', 'twosided'} -
Указывает, какие части спектра возвращать. Значение по умолчанию предоставляет стандартное поведение, которое возвращает односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
-
pad_to : int -
Количество точек, до которого дополняется фрагмент данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), оно может обеспечить больше точек в графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, что устанавливает pad_to равным длине входного сигнала (т. е. без дополнения).
Возвращаемое значение: -
spectrum : 1-D array -
Значения комплексного спектра (комплексные значения)
-
freqs : 1-D array -
Частоты, соответствующие элементам в spectrum
См. также
-
magnitude_spectrum() -
magnitude_spectrum()возвращает абсолютное значение этой функции. -
angle_spectrum() -
angle_spectrum()возвращает угол этой функции. -
phase_spectrum() -
phase_spectrum()возвращает фазу (неупакованный угол) этой функции. -
specgram() -
specgram()может возвращать комплексный спектр фрагментов внутри сигнала.
-
-
matplotlib.mlab.contiguous_regions(mask)[source] -
Устарело начиная с версии 2.2: Перемещено в matplotlib.cbook
Возвращает список (ind0, ind1) такой, что mask[ind0:ind1].all() — True, и мы охватываем все такие области.
-
matplotlib.mlab.cross_from_above(x, threshold)[source] -
Устарело начиная с версии 2.2: Функция cross_from_above устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает индексы в x, где x пересекает какой-то порог сверху, например, i, где:
x[i-1]>threshold and x[i]<=threshold
См. также
-
matplotlib.mlab.cross_from_below(x, threshold)[source] -
Устарело начиная с версии 2.2: Функция cross_from_below устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает индексы в x, где x пересекает какой-то порог снизу, например, i, где:
x[i-1]<threshold and x[i]>=threshold
Пример кода:
import matplotlib.pyplot as plt t = np.arange(0.0, 2.0, 0.1) s = np.sin(2*np.pi*t) fig, ax = plt.subplots() ax.plot(t, s, '-o') ax.axhline(0.5) ax.axhline(-0.5) ind = cross_from_below(s, 0.5) ax.vlines(t[ind], -1, 1) ind = cross_from_above(s, -0.5) ax.vlines(t[ind], -1, 1) plt.show()
См. также
-
matplotlib.mlab.csd(x, y, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None)[source] -
Вычислить взаимную спектральную плотность.
Вызов функции:
csd(x, y, NFFT=256, Fs=2, detrend=mlab.detrend_none, window=mlab.window_hanning, noverlap=0, pad_to=None, sides='default', scale_by_freq=None)Взаимная спектральная плотность
методом усреднённой периодограммы Велча. Векторы x и y делятся на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. Произведение прямых преобразований Фурье x и y усредняется по каждому сегменту для вычисления
, с масштабированием для компенсации потерь мощности из-за окон. Если len(x) < NFFT или len(y) < NFFT, они будут дополнены нулями до NFFT.
Параметры: -
x, y : 1-D arrays or sequences -
Массивы или последовательности, содержащие данные
-
Fs : scalar -
Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах на единицу времени. Значение по умолчанию равно 2.
-
window : callable or ndarray -
Функция или вектор длиной NFFT. Для создания векторов окна см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т.д. Значение по умолчанию —window_hanning(). Если в качестве аргумента передана функция, она должна принять сегмент данных и вернуть оконченную версию сегмента. -
sides : {'default', 'onesided', 'twosided'} -
Указывает, какие стороны спектра нужно вернуть. По умолчанию используется поведение по умолчанию, которое возвращает односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
-
pad_to : int -
Количество точек, до которого дополняются нулями сегменты данных при выполнении FFT. Это может отличаться от NFFT, которое задаёт количество точек данных. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, что устанавливает pad_to равным NFFT
-
NFFT : int -
Количество точек данных, используемых в каждом блоке для FFT. Мощность 2 наиболее эффективна. Значение по умолчанию равно 256. Это не должно использоваться для получения нулевого заполнения, иначе масштабирование результата будет неправильным. Для этого используйте pad_to.
-
detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib это функция. Модуль
mlabопределяетdetrend_none(),detrend_mean()иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Также можно использовать строку для выбора одной из функций. 'default', 'constant' и 'mean' вызываютdetrend_mean(). 'linear' вызываетdetrend_linear(). 'none' вызываетdetrend_none(). -
scale_by_freq : bool, optional -
Указывает, следует ли масштабировать значения плотности полученного результата по частоте масштабирования, что даёт плотность в единицах Hz^-1. Это позволяет производить интегрирование по возвращаемым значениям частоты. По умолчанию True для совместимости с MATLAB.
-
noverlap : integer -
Количество перекрывающихся точек между сегментами. Значение по умолчанию равно 0 (без перекрытия).
Возвращает: -
Pxy : 1-D array -
Значения взаимного спектра
P_{xy}до масштабирования (вещественные значения) -
freqs : 1-D array -
Частоты, соответствующие элементам в Pxy
Справочные материалы
Bendat & Piersol — Случайные данные: методы анализа и измерения, John Wiley & Sons (1986)
-
-
matplotlib.mlab.csv2rec(fname, comments='#', skiprows=0, checkrows=0, delimiter=', ', converterd=None, names=None, missing='', missingd=None, use_mrecords=False, dayfirst=False, yearfirst=False)[source] -
Устаревшее с версии 2.2: Функция csv2rec устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Загрузка данных из файла с разделителями запятыми/пробелами/табуляцией fname в массив записей NumPy и возвращение массива записей.
Если names равно None, требуется строка заголовка для автоматического назначения имён recarray. Заголовки будут приведены к нижнему регистру, пробелы заменены на символы нижнего подчёркивания, а некорректные символы имён атрибутов удалены. Если names не равно None, это последовательность имён, используемых для имён столбцов. В этом случае предполагается, что строки заголовка нет.
- fname: может быть именем файла или дескриптором файла. Поддержка сжатых файлов gzip — автоматическая, если имя файла оканчивается на '.gz'
- comments: символ, используемый для обозначения начала комментария в файле, или None для отключения удаления комментариев
- skiprows: количество строк сверху, которые нужно пропустить
- checkrows: количество строк, которые нужно проверить, чтобы проверить тип данных столбца. При значении 0 все строки проверяются.
- converterd: если не равно None, это словарь, сопоставляющий номер столбца или преобразованное имя столбца сопутствующей функции преобразования.
- names: если не равно None, это список имён заголовков. В этом случае заголовок из файла не будет считываться
- missingd это словарь, сопоставляющий преобразованные имена столбцов со значениями поля, которые указывают, что поле не содержит фактических данных и должно быть замаскировано, например, '0000-00-00' или 'unused'
- missing: строка, значение которой сигнализирует об отсутствующем поле независимо от столбца, в котором оно появляется
- use_mrecords: если True, возвращается массив записей mrecords.fromrecords, если какие-либо данные отсутствуют
- dayfirst: значение по умолчанию — False, поэтому MM-DD-YY имеет приоритет над DD-MM-YY. См. http://labix.org/python-dateutil#head-b95ce2094d189a89f80f5ae52a05b4ab7b41af47 для получения дополнительной информации.
-
yearfirst: значение по умолчанию — False, поэтому MM-DD-YY имеет приоритет над YY-MM-DD. См. http://labix.org/python-dateutil#head-b95ce2094d189a89f80f5ae52a05b4ab7b41af47 для получения дополнительной информации.
Если строк не найдено, возвращается None
-
matplotlib.mlab.csvformat_factory(format)[source] -
Устаревшее с версии 2.2: Функция csvformat_factory устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
-
matplotlib.mlab.demean(x, axis=0)[source] -
Возвращает x минус его среднее по указанной оси.
Параметры: -
x : array or sequence -
Массив или последовательность, содержащая данные. Может иметь любую размерность
-
axis : integer -
Ось, по которой следует вычислить среднее значение. См. numpy.mean для описания этого аргумента.
См. также
delinear()-
denone() -
delinear()иdenone()— это другие алгоритмы детрединга. -
detrend_mean() - Эта функция такая же, как
detrend_mean(), за исключением значения по умолчанию axis.
-
-
matplotlib.mlab.detrend(x, key=None, axis=None)[source] -
Возвращает x со снятой тенденцией.
Параметры: -
x : array or sequence -
Массив или последовательность, содержащая данные.
-
key : [ 'default' | 'constant' | 'mean' | 'linear' | 'none'] or function -
Указывает алгоритм удаления тренда. 'default' — 'mean', который эквивалентен
detrend_mean(). 'constant' — тоже самое. 'linear' — тоже самое, что иdetrend_linear(). 'none' — тоже самое, что иdetrend_none(). По умолчанию используется 'mean'. Более подробные сведения об алгоритмах см. в соответствующих функциях. Также может быть функцией, выполняющей операцию удаления тренда. -
axis : integer -
Ось, по которой выполняется удаление тренда.
См. также
-
detrend_mean() -
detrend_mean()реализует алгоритм 'mean'. -
detrend_linear() -
detrend_linear()реализует алгоритм 'linear'. -
detrend_none() -
detrend_none()реализует алгоритм 'none'.
-
-
matplotlib.mlab.detrend_linear(y)[source] -
Возвращает x минус прямая наилучшей аппроксимации; удаление линейной тенденции.
Параметры: -
y : 0-D or 1-D array or sequence -
Массив или последовательность, содержащая данные
-
axis : integer -
Ось, по которой вычисляется среднее. См. numpy.mean для описания этого аргумента.
См. также
-
delinear() - Эта функция аналогична
delinear()за исключением значения по умолчанию для axis.
-
detrend_none() -
detrend_mean()иdetrend_none()— другие алгоритмы удаления тренда. -
detrend() -
detrend()— оболочка для всех алгоритмов удаления тренда.
-
-
matplotlib.mlab.detrend_mean(x, axis=None)[source] -
Возвращает x минус среднее значение(x).
Параметры: -
x : array or sequence -
Массив или последовательность, содержащая данные. Может иметь любую размерность.
-
axis : integer -
Ось, по которой вычисляется среднее. См. numpy.mean для описания этого аргумента.
См. также
-
detrend_none() -
detrend_linear()иdetrend_none()— другие алгоритмы удаления тренда. -
detrend() -
detrend()— оболочка для всех алгоритмов удаления тренда.
-
-
matplotlib.mlab.detrend_none(x, axis=None)[source] -
Возвращает x: без удаления тренда.
Параметры: -
x : any object -
Объект, содержащий данные
-
axis : integer -
Этот параметр игнорируется. Он включён для совместимости с detrend_mean
См. также
-
denone() - Эта функция аналогична
denone()за исключением значения по умолчанию для axis, которое не оказывает влияния.
-
detrend_linear() -
detrend_mean()иdetrend_linear()— другие алгоритмы удаления тренда. -
detrend() -
detrend()— оболочка для всех алгоритмов удаления тренда.
-
-
matplotlib.mlab.dist(x, y)[source] -
Устарело начиная с версии 2.2: numpy.hypot
Возвращает расстояние между двумя точками.
-
matplotlib.mlab.dist_point_to_segment(p, s0, s1)[source] -
Устарело начиная с версии 2.2: Функция dist_point_to_segment была устарела в Matplotlib 2.2 и будет удалена в 3.1.
Получение расстояния от точки до отрезка.
p, s0, s1 — xy последовательностиЭтот алгоритм взят с http://geomalgorithms.com/a02-_lines.html
-
matplotlib.mlab.distances_along_curve(X)[source] -
Устарело начиная с версии 2.2: Функция distances_along_curve была устарела в Matplotlib 2.2 и будет удалена в 3.1.
Вычисляет расстояние между набором последовательных точек в N измерениях.
Где X — M x N массив или матрица. Вычисляются расстояния между последовательными строками. Расстояние — это стандартное евклидово расстояние.
-
matplotlib.mlab.donothing_callback(*args)[source] -
Устарело начиная с версии 2.2: Функция donothing_callback была устарела в Matplotlib 2.2 и будет удалена в 3.1.
-
matplotlib.mlab.entropy(y, bins)[source] -
Deprecated since version 2.2: scipy.stats.entropy
Возвращает энтропию данных в y в единицах ната.

где
— вероятность наблюдения y в
корзине bins. bins может быть числом корзин или диапазоном корзин; см. numpy.histogram().Сравните S с аналитическим вычислением для гауссиана:
x = mu + sigma * randn(200000) Sanalytic = 0.5 * ( 1.0 + log(2*pi*sigma**2.0) )
-
matplotlib.mlab.exp_safe(x)[source] -
Deprecated since version 2.2: numpy.exp
Вычисляет экспоненты, которые безопасно обнуляются при переполнении.
Медленно, но удобно в использовании. Обратите внимание, что numpy обеспечивает правильную обработку исключений с плавающей запятой с доступом к базовому оборудованию.
-
matplotlib.mlab.fftsurr(x, detrend=<function detrend_none>, window=<function window_none>)[source] -
Deprecated since version 2.2: Функция fftsurr была устаревшей в Matplotlib 2.2 и будет удалена в 3.1.
Вычисляет суррогат FFT с фазой, случайной для x.
-
matplotlib.mlab.find(condition)[source] -
Deprecated since version 2.2: Функция find была устаревшей в Matplotlib 2.2 и будет удалена в 3.1.
Возвращает индексы, где ravel(condition) истинно
-
matplotlib.mlab.frange(xini, xfin=None, delta=None, **kw)[source] -
Deprecated since version 2.2: numpy.arange
frange([start,] stop[, step, keywords]) -> массив чисел с плавающей запятой
Возвращает массив NumPy, содержащий последовательность чисел с плавающей запятой. Аналогично
numpy.arange(), но по умолчанию возвращает замкнутый интервал.frange(x0, x1)возвращает[x0, x0+1, x0+2, ..., x1]; start по умолчанию равен 0, а конечная точка включается. Это поведение отличается от поведенияrange()иnumpy.arange(). Это сделано намеренно, так какfrange()вероятно, будет более полезным для генерации списков точек для оценки функций, и конечные точки часто требуются в этом использовании. Обычное поведениеrange()может быть получено путем установки ключевого слова closed = 0, в этом случаеfrange()по существу становится :func:numpy.arange`.Когда задан step, он задаёт приращение (или убывание). Все аргументы могут быть числами с плавающей запятой.
frange(x0,x1,d)возвращает[x0,x0+d,x0+2d,...,xfin]где xfin <= x1.frange()также можно вызвать с ключевым словом npts. Это устанавливает количество точек, которое должен содержать список (и переопределяет значение, которое могло быть задано для step).numpy.arange()не предлагает этого варианта.Примеры:
>>> frange(3) array([ 0., 1., 2., 3.]) >>> frange(3,closed=0) array([ 0., 1., 2.]) >>> frange(1,6,2) array([1, 3, 5]) or 1,3,5,7, depending on floating point vagueries >>> frange(1,6.5,npts=5) array([ 1. , 2.375, 3.75 , 5.125, 6.5 ])
-
matplotlib.mlab.get_formatd(r, formatd=None)[source] -
Deprecated since version 2.2: Функция get_formatd была устаревшей в Matplotlib 2.2 и будет удалена в 3.1.
создаёт formatd, гарантирующий наличие ключа для каждого имени типа данных
-
matplotlib.mlab.get_sparse_matrix(M, N, frac=0.1)[source] -
Deprecated since version 2.2: Функция get_sparse_matrix была устаревшей в Matplotlib 2.2 и будет удалена в 3.1.
Возвращает M x N разреженную матрицу с frac элементов, заполненных случайным образом.
-
matplotlib.mlab.get_xyz_where(Z, Cond)[source] -
Deprecated since version 2.2: Функция get_xyz_where была устаревшей в Matplotlib 2.2 и будет удалена в 3.1.
Z и Cond — матрицы M x N. Z — данные, а Cond — булева матрица, где выполняется некоторое условие. Возвращаемое значение — (x, y, z), где x и y — индексы в Z, а z — значения Z в этих индексах. x, y и z — одномерные массивы.
-
matplotlib.mlab.griddata(x, y, z, xi, yi, interp='nn')[source] -
Deprecated since version 2.2: Функция griddata была устаревшей в Matplotlib 2.2 и будет удалена в 3.1. Используйте scipy.interpolate.griddata вместо неё.
Интерполирует данные с неравномерно расположенных точек на другую сетку.
Подогнанная поверхность вида z = f(
x,x) к данным в (обычно) неравномерно распределённых векторы (x,y,z), затем интерполируется эта поверхность в точках, заданных (xi,yi) для полученияzi.Параметры: -
x, y, z : 1d array_like -
Координаты точек сетки, из которых интерполируется.
-
xi, yi : 1d or 2d array_like -
Координаты точек сетки, на которые интерполируется.
-
interp : string key from {'nn', 'linear'} -
Алгоритм интерполяции, либо 'nn' для интерполяции естественного соседа, или 'linear' для линейной интерполяции.
Возвращает: - 2d массив чисел с плавающей точкой
-
Массив интерполированных значений в точках (
xi,yi) точек. Массив будет замаскирован, если какие-либо из (xi,yi) находятся вне выпуклой оболочки (x,y).
Примечания
Если
interpравно 'nn' (по умолчанию), используется интерполяция естественного соседа на основе треугольной сетки Делоне. Этот вариант доступен только при установленной модуле mpl_toolkits.natgrid. Его можно загрузить с https://github.com/matplotlib/natgrid. Сетка (xi,yi) должна быть регулярной и монотонно возрастающей в этом случае.Если
interpравно 'linear', используется линейная интерполяция через matplotlib.tri.LinearTriInterpolator.Вместо использования
griddata, доступна более гибкая функциональность и другие варианты интерполяции с использованием matplotlib.tri.Triangulation и matplotlib.tri.TriInterpolator. -
-
matplotlib.mlab.identity(n, rank=2, dtype='l', typecode=None)[source] -
Deprecated since version 2.2: numpy.identity
Возвращает единичную матрицу формы (n, n, ..., n) (ранг r).
Для рангов выше 2 этот объект просто многоиндексная кронекерова дельта:
/ 1 if i0=i1=...=iR, id[i0,i1,...,iR] = -| \ 0 otherwise.Необязательно, можно задать dtype (или тип кода) (по умолчанию 'l').
Поскольку ранг по умолчанию равен 2, эта функция в случае по умолчанию (когда задан только n) ведет себя как
numpy.identity(n)— но, удивительно, намного быстрее.
-
matplotlib.mlab.inside_poly(points, verts)[source] -
Deprecated since version 2.2: Функция inside_poly была устаревшей в Matplotlib 2.2 и будет удалена в 3.1.
points — последовательность точек x, y. verts — последовательность вершин многоугольника x, y.
Возвращаемое значение — последовательность индексов в points для точек, находящихся внутри многоугольника.
-
matplotlib.mlab.is_closed_polygon(X)[source] -
Устарело начиная с версии 2.2: Функция is_closed_polygon была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Проверяет, равны ли первый и последний объекты в последовательности. Предполагается, что это координаты на полигональной кривой, в этом случае функция проверяет, замкнута ли эта кривая.
-
matplotlib.mlab.ispower2(n)[source] -
Устарело начиная с версии 2.2: Функция ispower2 была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает логарифм по основанию 2 от n, если n является степенью двойки, иначе ноль.
Обратите внимание на потенциальную неоднозначность, если n == 1: 2**0 == 1, интерпретируйте соответствующим образом.
-
matplotlib.mlab.isvector(X)[source] -
Устарело начиная с версии 2.2: Функция isvector была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Аналогично функции MATLAB с тем же именем, возвращает True, если предоставленный массив или матрица NumPy X выглядит как вектор, то есть имеет одну ось, не являющуюся одиночной (т.е., может иметь несколько осей, но все они должны иметь длину 1, за исключением одной из них).
Если вам просто нужно проверить, имеет ли массив 1 ось, используйте X.ndim == 1.
-
matplotlib.mlab.l1norm(a)[source] -
Устарело начиная с версии 2.2: Функция l1norm была устарела в Matplotlib 2.2 и будет удалена в версии 3.1. Используйте numpy.linalg.norm(a, ord=1) вместо этого.
Возвращает l1 норму a, сглаженную.
Реализовано как отдельная функция (а не вызов
norm()для повышения скорости).
-
matplotlib.mlab.l2norm(a)[source] -
Устарело начиная с версии 2.2: Функция l2norm была устарела в Matplotlib 2.2 и будет удалена в версии 3.1. Используйте numpy.linalg.norm(a, ord=2) вместо этого.
Возвращает l2 норму a, сглаженную.
Реализовано как отдельная функция (а не вызов
norm()для повышения скорости).
-
matplotlib.mlab.less_simple_linear_interpolation(x, y, xi, extrap=False)[source] -
Устарело начиная с версии 2.2: Функция less_simple_linear_interpolation была устарела в Matplotlib 2.2 и будет удалена в версии 3.1. Используйте numpy.interp вместо этого.
Эта функция предоставляет простую (но несколько менее, чем
cbook.simple_linear_interpolation()) линейную интерполяцию.simple_linear_interpolation()даст список точек между началом и концом, а это делает истинную линейную интерполяцию в произвольной точке.Это очень неэффективная линейная интерполяция, предназначенная для использования только для небольшого количества точек в относительно малоинтенсивных случаях использования. Для реальной линейной интерполяции используйте scipy.
-
matplotlib.mlab.log2(x, ln2=0.6931471805599453)[source] -
Устарело начиная с версии 2.2: numpy.log2
Возвращает log(x) по основанию 2.
Это _медленная_ функция, но которая гарантирует возврат правильного целочисленного значения, если входное значение является целым числом, точной степенью 2.
-
matplotlib.mlab.logspace(xmin, xmax, N)[source] -
Устарело начиная с версии 2.2: Функция logspace была устарела в Matplotlib 2.2 и будет удалена в версии 3.1. Используйте numpy.logspace или numpy.geomspace вместо этого.
Возвращает N значений, равномерно распределенных в логарифмической шкале между xmin и xmax.
-
matplotlib.mlab.longest_contiguous_ones(x)[source] -
Устарело начиная с версии 2.2: Функция longest_contiguous_ones была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает индексы самой длинной последовательности непрерывных единиц в x, предполагая, что x — это вектор нулей и единиц. Если есть две одинаково длинные последовательности, выбирается первая.
-
matplotlib.mlab.longest_ones(x)[source] -
Устарело начиная с версии 2.2: Функция longest_ones была устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Псевдоним для longest_contiguous_ones
-
matplotlib.mlab.magnitude_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)[source] -
Вычислите величину (абсолютное значение) спектра частот x. Данные дополняются до длины pad_to, а к сигналу применяется функция оконного фильтра window.
Параметры: -
x : 1-D array or sequence -
Массив или последовательность, содержащая данные
-
Fs : scalar -
Частота дискретизации (образцы в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах в единицу времени. Значение по умолчанию равно 2.
-
window : callable or ndarray -
Функция или вектор длины NFFT. Для создания векторов окна см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т. д. Значение по умолчанию —window_hanning(). Если в качестве аргумента передана функция, она должна принимать фрагмент данных в качестве аргумента и возвращать обработанный фрагмент. -
sides : {'default', 'onesided', 'twosided'} -
Определяет, какие стороны спектра возвращать. Значение по умолчанию задает стандартное поведение, которое возвращает односторонний спектр для действительных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
-
pad_to : int -
Количество точек, до которых дополняется фрагмент данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может обеспечить больше точек в графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, что устанавливает pad_to равным длине входного сигнала (т. е. без дополнения).
Возвращает: -
spectrum : 1-D array -
Значения для величины спектра (действительные числа)
-
freqs : 1-D array -
Частоты, соответствующие элементам в spectrum
См. также
-
psd() -
psd()возвращает плотность спектральной мощности. -
complex_spectrum() - Эта функция возвращает абсолютное значение
complex_spectrum(). -
angle_spectrum() -
angle_spectrum()возвращает углы соответствующих частот. -
phase_spectrum() -
phase_spectrum()возвращает фазу (разовую фазу) соответствующих частот. -
specgram() -
specgram()может возвращать величину спектра фрагментов в пределах сигнала.
-
-
matplotlib.mlab.movavg(x, n)[source] -
Устарело с версии 2.2: Функция movavg устарела в Matplotlib 2.2 и будет удалена в 3.1.
Вычислите скользящее среднее длины (n) для x.
-
matplotlib.mlab.norm_flat(a, p=2)[source] -
Устарело с версии 2.2: Функция norm_flat устарела в Matplotlib 2.2 и будет удалена в 3.1. Используйте numpy.linalg.norm(a.flat, ord=p) вместо неё.
norm(a,p=2) -> l-p норма a.flat
Возвращает l-p норму a, рассматривая её как плоский массив. Это НЕ является истинной нормой матрицы, так как массивы произвольного ранга всегда уплощаются.
p может быть числом или строкой 'Infinity', чтобы получить норму L-бесконечности.
-
matplotlib.mlab.normpdf(x, *args)[source] -
Устарело с версии 2.2: scipy.stats.norm.pdf
Возвращает нормальное распределение pdf, вычисленное в x; args предоставляет mu, sigma
-
matplotlib.mlab.offset_line(y, yerr)[source] -
Устарело с версии 2.2: Функция offset_line устарела в Matplotlib 2.2 и будет удалена в 3.1.
Смещает массив y на +/- погрешность и возвращает кортеж (y - err, y + err).
Ошибка может быть:
- Скаляром. В этом случае возвращаемый кортеж очевиден.
- Вектором той же длины, что и y. Величины y +/- err вычисляются покомпонентно.
-
Кортежем длины 2. В этом случае yerr[0] — погрешность ниже y, а yerr[1] — погрешность выше y. Например:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2*np.pi, num=100, endpoint=True) y = np.sin(x) y_minus, y_plus = mlab.offset_line(y, 0.1) plt.plot(x, y) plt.fill_between(x, y_minus, y2=y_plus) plt.show()
-
matplotlib.mlab.path_length(X)[source] -
Устарело с версии 2.2: Функция path_length устарела в Matplotlib 2.2 и будет удалена в 3.1.
Вычисляет пройденное расстояние по полигональной кривой в N измерениях.
Где X — массив или матрица размера M x N. Возвращает массив длины M, содержащий расстояние по кривой в каждой точке (т. е. строки X).
-
matplotlib.mlab.phase_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)[source] -
Вычислить фазу спектра частоты (спектр углов без разрывов) x. Данные дополняются до длины pad_to, и к сигналу применяется функция окна window.
Параметры: -
x : 1-D array or sequence -
Массив или последовательность, содержащие данные
-
Fs : scalar -
Частота дискретизации (образцов в единицу времени). Она используется для расчета частот Фурье, freqs, в циклах на единицу времени. Значение по умолчанию равно 2.
-
window : callable or ndarray -
Функция или вектор длины NFFT. Для создания векторов окна см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т. д. По умолчанию используетсяwindow_hanning(). Если в качестве аргумента передается функция, она должна принимать сегмент данных в качестве аргумента и возвращать окно сегмента. -
sides : {'default', 'onesided', 'twosided'} -
Указывает, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение, возвращая односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
-
pad_to : int -
Количество точек, на которое дополняется сегмент данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может обеспечить больше точек на графике, позволяя получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным длине входного сигнала (т. е. без дополнения).
Возвращает: -
spectrum : 1-D array -
Значения для спектра фаз в радианах (вещественные)
-
freqs : 1-D array -
Частоты, соответствующие элементам в spectrum
См. также
-
complex_spectrum() - Эта функция возвращает значение угла
complex_spectrum(). -
magnitude_spectrum() -
magnitude_spectrum()возвращает величины соответствующих частот. -
angle_spectrum() -
angle_spectrum()возвращает обёрнутую версию этой функции. -
specgram() -
specgram()может возвращать спектр фаз сегментов внутри сигнала.
-
-
matplotlib.mlab.poly_below(xmin, xs, ys)[source] -
Устарело начиная с версии 2.2: Функция poly_below устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
При заданной последовательности xs и ys возвращает вершины многоугольника, имеющего горизонтальную основу в xmin и верхнюю границу в ys. xmin — скаляр.
Предназначена для использования с
matplotlib.axes.Axes.fill(), например:xv, yv = poly_below(0, x, y) ax.fill(xv, yv)
-
matplotlib.mlab.poly_between(x, ylower, yupper)[source] -
Устарело начиная с версии 2.2: Функция poly_between устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
При заданной последовательности x, ylower и yupper возвращает многоугольник, заполняющий области между ними. ylower или yupper могут быть скалярными или итерируемыми. Если они итерируемые, они должны иметь длину, равную x.
Значение возврата — массивы x и y для использования с
matplotlib.axes.Axes.fill().
-
matplotlib.mlab.prctile(x, p=(0.0, 25.0, 50.0, 75.0, 100.0))[source] -
Устарело начиная с версии 2.2: numpy.percentile
Возвращает процентили x. p может быть либо последовательностью значений процентилей, либо скаляром. Если p — последовательность, i-й элемент возвращаемой последовательности — p*(i)-й процентиль *x. Если p — скаляр, возвращается наибольшее значение x, меньшее или равное p-процентилю в последовательности.
-
matplotlib.mlab.prctile_rank(x, p)[source] -
Устарело начиная с версии 2.2: Функция prctile_rank устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает ранг для каждого элемента в x, возвращает ранг 0..len(p). Например, если p = (25, 50, 75), возвращаемое значение будет массивом длины x со значениями в [0,1,2,3], где 0 указывает, что значение меньше 25-го процентиля, 1 указывает, что значение больше или равно 25-му и меньше 50-го процентиля и т. д., а 3 указывает, что значение больше 75-го процентиля.
p — это либо массив процентилей в [0..100], либо скаляр, который указывает, сколько квантилей данных необходимо проранжировать.
-
matplotlib.mlab.psd(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None)[source] -
Вычисление плотности спектральной мощности.
Вызов:
psd(x, NFFT=256, Fs=2, detrend=mlab.detrend_none, window=mlab.window_hanning, noverlap=0, pad_to=None, sides='default', scale_by_freq=None)Плотность спектральной мощности
методом усреднённой периодограммы Велча. Вектор x делится на сегменты длиной NFFT. Каждый сегмент сглаживается с помощью функции detrend и окна window. noverlap задаёт длину перекрытия между сегментами.
каждого сегмента
усредняются для вычисления
. Если len(x) < NFFT, данные дополняются нулями до NFFT.
Параметры: -
x : 1-D array or sequence -
Массив или последовательность, содержащая данные
-
Fs : scalar -
Частота дискретизации (образцы в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию — 2.
-
window : callable or ndarray -
Функция или вектор длины NFFT. Для создания векторов окон см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т. д. Значение по умолчанию —window_hanning(). Если в качестве аргумента передана функция, она должна принять сегмент данных в качестве аргумента и вернуть оконную версию сегмента. -
sides : {'default', 'onesided', 'twosided'} -
Указывает, какие стороны спектра возвращать. По умолчанию используется поведение по умолчанию, которое возвращает односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' заставляет вернуть односторонний спектр, а 'twosided' — двусторонний.
-
pad_to : int -
Количество точек, до которого дополняются нулями сегменты данных при выполнении FFT. Это может отличаться от NFFT, которое определяет количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным NFFT
-
NFFT : int -
Количество точек данных, используемых в каждом блоке для FFT. Мощность 2 является наиболее эффективной. Значение по умолчанию — 256. Это НЕЛЬЗЯ использовать для получения нулевого заполнения, в противном случае масштабирование результата будет неправильным. Для этого используйте pad_to.
-
detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед выполнением FFT, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend — это вектор, в matplotlib — это функция. Модуль
mlabопределяетdetrend_none(),detrend_mean()иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку, чтобы выбрать одну из функций. 'default', 'constant', и 'mean' вызываютdetrend_mean(). 'linear' вызываетdetrend_linear(). 'none' вызываетdetrend_none(). -
scale_by_freq : bool, optional -
Указывает, должны ли значения плотности масштабироваться по шкале частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым частотным значениям. По умолчанию True для совместимости с MATLAB.
-
noverlap : integer -
Количество перекрывающихся точек между сегментами. По умолчанию 0 (нет перекрытия).
Возвращает: -
Pxx : 1-D array -
Значения спектральной плотности
P_{xx}(вещественные) -
freqs : 1-D array -
Частоты, соответствующие элементам в Pxx
См. также
-
specgram() -
specgram()отличается значением перекрытия по умолчанию; не возвращает среднее значение периодограмм сегмента; и возвращает время сегментов. -
magnitude_spectrum() -
magnitude_spectrum()возвращает спектр величин. -
csd() -
csd()возвращает спектральную плотность между двумя сигналами.
Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
-
-
matplotlib.mlab.quad2cubic(q0x, q0y, q1x, q1y, q2x, q2y)[source] -
Устарело с версии 2.2: Функция quad2cubic устарела в Matplotlib 2.2 и будет удалена в 3.1.
Преобразование квадратичной кривой Безье в кубическое приближение.
На входе — координаты x и y трёх контрольных точек квадратичной кривой, а на выходе — кортеж координат x и y четырёх контрольных точек кубической кривой.
-
matplotlib.mlab.rec2csv(r, fname, delimiter=', ', formatd=None, missing='', missingd=None, withheader=True)[source] -
Устарело с версии 2.2: Функция rec2csv устарела в Matplotlib 2.2 и будет удалена в 3.1. Используйте numpy.recarray.tofile вместо этого.
Сохранение данных из numpy recarray r в файл с разделителями запятыми/пробелами/табуляцией. Имена типов данных массива записей будут использованы в качестве заголовков столбцов.
- fname: может быть именем файла или дескриптором файла. Поддержка сжатых
- файлов в формате .gz автоматическая
- withheader: если withheader False, не записывать имена атрибутов
- в первой строке
для типа FormatFloat мы переопределяем точность, чтобы хранить числа с плавающей точкой с полной точностью в файле CSV
См. также
-
csv2rec() - Для информации о missing и missingd, которые могут быть использованы для заполнения пропущенных значений в файле CSV.
-
matplotlib.mlab.rec2txt(r, header=None, padding=3, precision=3, fields=None)[source] -
Устарело с версии 2.2: Функция rec2txt устарела в Matplotlib 2.2 и будет удалена в 3.1. Используйте numpy.recarray.tofile вместо этого.
Возвращает текстовое представление массива записей.
Параметры: - r: numpy recarray
- header: список
-
заголовки столбцов
- padding:
-
пробел между каждым столбцом
- precision: количество десятичных знаков для чисел с плавающей точкой.
-
Установите целочисленное значение, чтобы применить к всем числам с плавающей точкой. Установите список целых чисел, чтобы применить точность индивидуально. Точность для нечисел с плавающей точкой просто игнорируется.
-
fields : list -
Если не None, список имён полей для вывода. fields может быть списком строк, например ['field1', 'field2'], или одной строкой, разделенной запятыми, например 'field1,field2'
Примеры
Для
precision=[0,2,3], вывод составляетID Price Return ABC 12.54 0.234 XYZ 6.32 -0.076
-
matplotlib.mlab.rec_append_fields(rec, names, arrs, dtypes=None)[source] -
Устарело начиная с версии 2.2: Функция rec_append_fields устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает новый массив записей с именами полей, заполненными данными из массивов в arrs. Если добавляется одно поле, то names, arrs и dtypes не должны быть списками. Они могут быть просто самими значениями.
-
matplotlib.mlab.rec_drop_fields(rec, names)[source] -
Устарело начиная с версии 2.2: Функция rec_drop_fields устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает новый массив numpy записей с удаленными полями в names.
-
matplotlib.mlab.rec_groupby(r, groupby, stats)[source] -
Устарело начиная с версии 2.2: Функция rec_groupby устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
r — массив numpy записей.
groupby — последовательность имён атрибутов массива записей, которые вместе образуют ключ группировки. Например, ('date', 'productcode').
stats — последовательность кортежей (attr, func, outname), которые вызовут
x = func(attr)и присвоят x массиву записей с атрибутом outname. Например:stats = ( ('sales', len, 'numsales'), ('sales', np.mean, 'avgsale') )Возвращаемый массив записей имеет имена dtype для каждого имени атрибута в аргументе groupby с соответствующими значениями группы и для каждого имени outname в аргументе stats с соответствующим сводным результатом статистики.
-
matplotlib.mlab.rec_join(key, r1, r2, jointype='inner', defaults=None, r1postfix='1', r2postfix='2')[source] -
Устарело начиная с версии 2.2: Функция rec_join устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Объединяет массивы записей r1 и r2 по ключу key; key — кортеж имён полей. Если key — строка, предполагается, что это имя одного атрибута. Если r1 и r2 имеют одинаковые значения по всем ключам в кортеже key, то их поля будут объединены в новый массив записей, содержащий пересечение полей r1 и r2.
r1 (также r2) не должен иметь дублирующихся ключей.
Ключевое слово jointype может принимать значения 'inner', 'outer', 'leftouter'. Чтобы выполнить правое внешнее соединение, просто поменяйте местами r1 и r2.
Ключевое слово defaults — словарь, заполненный парами
{column_name:default_value}.Ключевые слова r1postfix и r2postfix добавляют постфиксы к именам столбцов (кроме ключей), которые присутствуют как в r1, так и в r2.
-
matplotlib.mlab.rec_keep_fields(rec, names)[source] -
Устарело начиная с версии 2.2: Функция rec_keep_fields устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает новый массив numpy записей только с полями, перечисленными в names.
-
matplotlib.mlab.rec_summarize(r, summaryfuncs)[source] -
Устарело начиная с версии 2.2: Функция rec_summarize устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
r — массив numpy записей.
summaryfuncs — список кортежей (attr, func, outname), которые применят func к массиву r*[attr] и присвоят результат новому имени атрибута outname. Возвращаемый массив записей идентичен r, с дополнительными массивами для каждого элемента в summaryfuncs.
-
matplotlib.mlab.recs_join(key, name, recs, jointype='outer', missing=0.0, postfixes=None)[source] -
Устарело начиная с версии 2.2: Функция recs_join устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Объединяет последовательность массивов записей по ключу одного столбца.
Эта функция объединяет только один столбец из нескольких массивов записей.
- key
- имя столбца, который действует как ключ
- name
- имя столбца, который мы хотим объединить
- recs
- список массивов записей для объединения
- jointype
- строка 'inner' или 'outer'
- missing
- значение, которым заменяется любое отсутствующее поле
- postfixes
- если не None, последовательность постфиксов длиной recs
Возвращает массив записей со столбцами [rowkey, name0, name1, ... namen-1]. Или, если указаны постфиксы [PF0, PF1, ..., PFN-1], [rowkey, namePF0, namePF1, ... namePFN-1].
Пример:
r = recs_join("date", "close", recs=[r0, r1], missing=0.)
-
matplotlib.mlab.rk4(derivs, y0, t)[source] -
Устарело начиная с версии 2.2: scipy.integrate.ode
Интегрирует 1D или ND систему ОДУ с помощью четвёртого порядка метода Рунге-Кутта. Это учебная реализация, которая может быть полезной, если вы оказались в системе без scipy. В противном случае используйте
scipy.integrate().Параметры: - y0
-
вектор начального состояния
- t
-
временные отсчёты
- derivs
-
возвращает производную системы и имеет сигнатуру
dy = derivs(yi, ti)
Примеры
2D система:
def derivs6(x,t): d1 = x[0] + 2*x[1] d2 = -3*x[0] + 4*x[1] return (d1, d2) dt = 0.0005 t = arange(0.0, 2.0, dt) y0 = (1,2) yout = rk4(derivs6, y0, t)1D система:
alpha = 2 def derivs(x,t): return -alpha*x + exp(-t) y0 = 1 yout = rk4(derivs, y0, t)Если у вас есть доступ к scipy, вы, вероятно, должны использовать инструменты scipy.integrate вместо этой функции.
-
matplotlib.mlab.rms_flat(a)[source] -
Устарело начиная с версии 2.2: Функция rms_flat устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает среднеквадратичное отклонение всех элементов a, выровненных.
-
matplotlib.mlab.safe_isinf(x)[source] -
Устарело начиная с версии 2.2: numpy.isinf
numpy.isinf()для произвольных типов
-
matplotlib.mlab.safe_isnan(x)[source] -
Устарело начиная с версии 2.2: numpy.isnan
numpy.isnan()для произвольных типов
-
matplotlib.mlab.segments_intersect(s1, s2)[source] -
Устарело начиная с версии 2.2: Функция segments_intersect устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Возвращает True, если s1 и s2 пересекаются. s1 и s2 определяются как:
s1: (x1, y1), (x2, y2) s2: (x3, y3), (x4, y4)
-
matplotlib.mlab.slopes(x, y)[source] -
Устарело начиная с версии 2.2: Функция slopes устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
slopes()вычисляет наклон y'(x)Наклон оценивается с использованием наклона параболы, проходящей через любые три последовательные точки.
Этот метод должен быть предпочтительнее, чем описанный в приложении A CONSISTENTLY WELL BEHAVED METHOD OF INTERPOLATION Руссела У. Стайнемана (Creative Computing, июль 1980) по крайней мере в одном аспекте:
Круги для интерполяции требуют известного соотношения сторон между x- и y-значениями. Однако для многих функций абсциссы задаются в разных измерениях, поэтому соотношение сторон совершенно произвольно.Метод параболы даёт очень похожие результаты, что и метод окружностей для большинства обычных случаев, но ведёт себя гораздо лучше в особых случаях.
Норберт Немец, Институт теоретической физики, университет Регенсбурга, апрель 2006 Norbert.Nemec at physik.uni-regensburg.de
(на основе исходной реализации Халдора Бьёрнссона, Исланская метеорологическая служба, март 2006 halldor at vedur.is)
-
matplotlib.mlab.specgram(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, mode=None)[source] -
Вычисление спектрограммы.
Вычисление и построение спектрограммы данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. Функция окна window применяется к каждому сегменту, а количество перекрытия каждого сегмента задаётся параметром noverlap.
Параметры: -
x : array_like -
Одномерный массив или последовательность.
-
Fs : scalar -
Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию — 2.
-
window : callable or ndarray -
Функция или вектор длины NFFT. Для создания векторов окна см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т. д. Значение по умолчанию —window_hanning(). Если в качестве аргумента передаётся функция, она должна принимать сегмент данных в качестве аргумента и возвращать окнозированную версию сегмента. -
sides : {'default', 'onesided', 'twosided'} -
Указывает, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение, возвращающее односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
-
pad_to : int -
Количество точек, на которое добавляются нули к сегменту данных при выполнении БПФ. Это может отличаться от NFFT, которое указывает количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, которое устанавливает pad_to равным NFFT
-
NFFT : int -
Количество точек данных, используемых в каждом блоке для БПФ. Возведение в степень 2 наиболее эффективно. Значение по умолчанию — 256. Не следует использовать для получения нулевого заполнения, так как масштабирование результата будет неправильным. Для этого используйте pad_to.
-
detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль
mlabопределяетdetrend_none(),detrend_mean()иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant' и 'mean' вызываютdetrend_mean(). 'linear' вызываетdetrend_linear(). 'none' вызываетdetrend_none(). -
scale_by_freq : bool, optional -
Указывает, следует ли масштабировать возвращаемые значения плотности по масштабирующей частоте, что даёт плотность в единицах Hz^-1. Это позволяет производить интегрирование по возвращаемым значениям частоты. По умолчанию True для совместимости с MATLAB.
-
noverlap : int, optional -
Количество перекрывающихся точек между блоками. Значение по умолчанию — 128.
-
mode : str, optional -
- Какой тип спектра использовать, по умолчанию 'psd'.
-
- 'psd'
-
Возвращает плотность мощности спектра.
- 'complex'
-
Возвращает комплекснозначный спектр частот.
- 'magnitude'
-
Возвращает спектр величины.
- 'angle'
-
Возвращает спектр фаз без разворачивания.
- 'phase'
-
Возвращает спектр фаз с разворачиванием.
Возвращаемые значения: -
spectrum : array_like -
Двумерный массив, столбцы — периодограммы последовательных сегментов.
-
freqs : array_like -
Одномерный массив, частоты, соответствующие строкам в spectrum.
-
t : array_like -
Одномерный массив, моменты времени, соответствующие серединам сегментов (т. е. столбцам в spectrum).
См. также
-
psd - отличается перекрытием и возвращаемыми значениями.
-
complex_spectrum - аналогично, но с комплекснозначными частотами.
-
magnitude_spectrum - аналогично для одного сегмента, когда режим 'magnitude'.
-
angle_spectrum - аналогично для одного сегмента, когда режим 'angle'.
-
phase_spectrum - аналогично для одного сегмента, когда режим 'phase'.
Примечания
detrend и scale_by_freq применяются только тогда, когда mode установлен в 'psd'.
-
-
matplotlib.mlab.stineman_interp(xi, x, y, yp=None)[source] -
Устарело начиная с версии 2.2: Функция stineman_interp устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
При заданных векторах данных x и y, векторе наклона yp и новом векторе абсцисс xi, функция
stineman_interp()использует интерполяцию Стинемана для вычисления вектора yi, соответствующего xi.Вот пример, который генерирует грубую синусоиду, а затем интерполирует по более тонкой абсциссе:
x = linspace(0,2*pi,20); y = sin(x); yp = cos(x) xi = linspace(0,2*pi,40); yi = stineman_interp(xi,x,y,yp); plot(x,y,'o',xi,yi)
Метод интерполяции описан в статье A CONSISTENTLY WELL BEHAVED METHOD OF INTERPOLATION Рэссела У. Стинемана. Статья была опубликована в июльском номере 1980 года Creative Computing с примечанием редактора, в котором говорилось, что, хотя это не академический журнал, но иногда в нём встречаются серьёзные и оригинальные работы, добавляя, что это «по-видимому, является настоящим решением» известной проблемы.
Для yp = None процедура автоматически определяет наклоны, используя процедуру
slopes().Предполагается, что x отсортирован в порядке возрастания.
Для значений
xi[j] < x[0]илиxi[j] > x[-1], процедура пытается выполнить экстраполяцию. Соответствие полученных данных, конечно, вызывает вопросы...Исходная реализация Халдора Бьёрнссона, Исланская метеорологическая служба, март 2006 года halldor at vedur.is
Полностью переработанная и оптимизированная реализация для Python Норбертом Немецом, Институт теоретической физики, Регенсбургский университет, апрель 2006 года Norbert.Nemec at physik.uni-regensburg.de
-
matplotlib.mlab.stride_repeat(x, n, axis=0)[source] -
Повторение значений в массиве с высокой эффективностью использования памяти. Массив x складывается вертикально n раз.
Предупреждение
Запись в выходной массив небезопасна. Несколько элементов могут указывать на один и тот же фрагмент памяти, поэтому изменение одного значения может изменить другие.
Параметры: -
x : 1D array or sequence -
Массив или последовательность, содержащая данные.
-
n : integer -
Количество повторений массива.
-
axis : integer -
Ось, по которой будут выполняться данные.
Ссылки
stackoverflow: Повторение NumPy массива без дублирования данных?
-
-
matplotlib.mlab.stride_windows(x, n, noverlap=None, axis=0)[source] -
Получить все окна x длиной n как один массив, используя смещения для избежания дублирования данных.
Предупреждение
Небезопасно записывать в выходной массив. Несколько элементов могут указывать на один и тот же кусок памяти, поэтому изменение одного значения может изменить другие.
Параметры: -
x : 1D array or sequence -
Массив или последовательность, содержащая данные.
-
n : integer -
Количество точек данных в каждом окне.
-
noverlap : integer -
Перекрытие между соседними окнами. По умолчанию 0 (без перекрытия)
-
axis : integer -
Ось, по которой будут работать окна.
Ссылки
stackoverflow: Окно сдвига для одномерных массивов в Numpy? stackoverflow: Использование смещений для эффективного фильтра скользящего среднего
-
-
matplotlib.mlab.vector_lengths(X, P=2.0, axis=None)[source] -
Устарело начиная с версии 2.2: Функция vector_lengths устарела в Matplotlib 2.2 и будет удалена в версии 3.1.
Находит длину набора векторов в n измерениях. Это как функция
numpy.norm()для векторов, но имеет возможность работать с определенной осью поданного массива или матрицы.Вычисляет
(sum((x_i)^P))^(1/P)для каждого{x_i}являющегося элементами X вдоль заданной оси. Если axis равно None, вычисляется по всем элементам X.
-
matplotlib.mlab.window_hanning(x)[source] -
Возвращает x, умноженный на окно Ханна длиной len(x).
См. также
-
window_none() -
window_none()— это другой алгоритм окна.
-
-
matplotlib.mlab.window_none(x)[source] -
Функция окна отсутствует; просто возвращает x.
См. также
-
window_hanning() -
window_hanning()— это другой алгоритм окна.
-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.0.0/api/mlab_api.html