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

  • brokenbellsVEVO

    brokenbellsV

    11 EYLÜL 2009
  • OnlyFunClips

    OnlyFunClips

    16 ŞUBAT 2012
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011