Saya dapat menulis sesuatu sendiri dengan menemukan nol-penyilangan dari turunan pertama atau sesuatu, tetapi sepertinya fungsi yang cukup umum untuk dimasukkan dalam perpustakaan standar. Adakah yang tahu?
Aplikasi khusus saya adalah array 2D, tetapi biasanya akan digunakan untuk menemukan puncak di FFT, dll.
Secara khusus, dalam masalah seperti ini, ada beberapa puncak yang kuat, dan kemudian banyak "puncak" yang lebih kecil yang hanya disebabkan oleh kebisingan yang harus diabaikan. Ini hanya contoh; bukan data aktual saya:
Puncak 1 dimensi:
Puncak 2 dimensi:
Algoritma penemuan-puncak akan menemukan lokasi puncak-puncak ini (bukan hanya nilainya), dan idealnya akan menemukan puncak antar-sampel yang sebenarnya, bukan hanya indeks dengan nilai maksimum, mungkin menggunakan interpolasi kuadrat atau sesuatu.
Biasanya Anda hanya peduli tentang puncak yang kuat beberapa, sehingga mereka akan baik dipilih karena mereka di atas ambang tertentu, atau karena mereka yang pertama n puncak daftar ordered, berdasarkan peringkat amplitudo.
Seperti yang saya katakan, saya tahu bagaimana menulis sesuatu seperti ini sendiri. Saya hanya bertanya apakah ada fungsi atau paket yang sudah ada sebelumnya yang berfungsi dengan baik.
Memperbarui:
Saya menerjemahkan skrip MATLAB dan berfungsi dengan baik untuk kasus 1-D, tetapi bisa lebih baik.
Pembaruan yang diperbarui:
sixtenbe menciptakan versi yang lebih baik untuk case 1-D.
find_peaks
, jadi saya menambahkan jawaban ini yang mungkin berguna untuk referensi di masa mendatang. (Saya yakin Anda sudah menemukan ini sejak 2009 tetapi untuk orang lain + saya sendiri ketika saya akan mengajukan pertanyaan lagi kepada diri saya dalam beberapa tahun!)