İlk türev veya bir şeyin sıfır geçişlerini bularak kendim bir şeyler yazabilirim, ancak standart kütüphanelere dahil edilecek yeterli ortak bir işlev gibi görünüyor. Birini bilen var mı?
Benim özel uygulama bir 2D dizisidir, ancak genellikle FFT'lerde zirve bulmak için kullanılır.
Özellikle, bu tür problemlerde, birden fazla güçlü tepe noktası vardır ve daha sonra sadece göz ardı edilmesi gereken gürültüden kaynaklanan daha küçük “tepe noktaları” vardır. Bunlar sadece örnektir; gerçek verilerim değil:
1 boyutlu zirveler:
2 boyutlu pikler:
Zirve bulma algoritması, bu piklerin (sadece değerlerinin değil) yerini bulur ve ideal olarak, sadece kuadratik enterpolasyon veya bir şey kullanarak, sadece maksimum değere sahip indeksi değil, gerçek numuneler arası zirveyi bulur .
Tipik olarak sadece birkaç güçlü zirveye önem veriyorsunuz, bu yüzden ya belirli bir eşiğin üstünde oldukları için ya da sıralı bir listenin genliğe göre sıralanan ilk n zirveleri oldukları için seçileceklerdi .
Dediğim gibi, böyle bir şeyi nasıl yazacağımı biliyorum. Sadece iyi çalıştığı bilinen önceden var olan bir işlev veya paket olup olmadığını soruyorum.
Güncelleme:
Ben bir MATLAB komut dosyası tercüme ve 1-D durumu için adam gibi çalışır, ancak daha iyi olabilir.
Güncelleme:
sixtenbe 1-B durumu için daha iyi bir versiyon yarattı .
find_peaks
, bu yüzden gelecekteki referans için yararlı olabilecek bu cevabı ekledim . (Bunu 2009'dan beri zaten bulduğunuzdan eminim ama birkaç yıl içinde kendime tekrar soru sorduğumda diğer insanlar + kendim için!)