SORU
7 Ocak 2011, Cuma


Bulma Yerel maxima/1D numpy bir dizi Numpy ile minimum

1D numpy bir dizi yerel maksimum/minimum bulabilirsiniz numpy/scipy modülü bir işlevi önerir misiniz? Açıkçası en basit yaklaşım hiç yakın komşuları bakmak, ama numpy dağıtımı bir parçası olduğunu kabul edilen bir çözüm istiyorum.

CEVAP
21 Kasım 2012, ÇARŞAMBA


SciPy >= 0.11

import numpy as np
from scipy.signal import argrelextrema

x = np.random.random(12)

# for local maxima
argrelextrema(x, np.greater)

# for local minima
argrelextrema(x, np.less)

Üretir

>>> x
array([ 0.56660112,  0.76309473,  0.69597908,  0.38260156,  0.24346445,
    0.56021785,  0.24109326,  0.41884061,  0.35461957,  0.54398472,
    0.59572658,  0.92377974])
>>> argrelextrema(x, np.greater)
(array([1, 5, 7]),)
>>> argrelextrema(x, np.less)
(array([4, 6, 8]),)

Not, bu yerel max/min x endeksleri. Değerleri almak için deneyin:

>>> x[argrelextrema(x, np.greater)[0]]

scipy.signal argrelmax ve bulma maxima argrelmin sağlar ve sırasıyla minimum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • Muse

    Muse

    28 EYLÜL 2006
  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012