библиотека подгонки java - PullRequest
2 голосов
/ 13 июля 2010

Кто-нибудь знает какие-либо пиковые библиотеки для Java?

Я хочу дать ему массив данных, и он сообщит мне положение пика.

, например, для этих данных:

x, y<br> -5, 0.875333026<br> -4, 0.885868909<br> -3, 0.895851362<br> -2, 0.903971085<br> -1, 0.908274124<br> 0, 0.907117054<br> 1, 0.901894046<br> 2, 0.894918547<br> 3, 0.887651936<br> 4, 0.880114302<br> 5, 0.872150014

это скажет, что пик находится в (примерно) -0,75

Я, вероятно, просто хочу соответствовать гауссу, или, может быть, расщепленный гаусс...

.

Я отметил его как curve-fitting, а не peak-fitting или peak-finding, поскольку у меня недостаточно репутации, чтобы создавать новые теги ...

edit: я бы предпочел лицензионный код Apache (или совместимый) ...

Ответы [ 2 ]

1 голос
/ 18 января 2011

Не уверен, что вы уже нашли ответ на этот вопрос, но вы, безусловно, можете использовать Apache Commons Math http://commons.apache.org/math/index.html В нем есть несколько методов подгонки кривых, а также реализация библиотеки Левенберга-Марквардта .

1 голос
/ 14 июля 2010

Хотите определить положение пика по методу наименьших квадратов? Я думаю, что наиболее популярным методом для этого является алгоритм Левенберга – Марквардта.

Я не знаю каких-либо библиотек Java, но я бы искал такие термины, как: подгонка нелинейной кривой, нелинейные наименьшие квадраты, метод Левенберга – Марквардта или просто метод Марквардта. Вы также можете подумать о кодировании это самостоятельно. Если у вас есть библиотека для матричных манипуляций, то это 20-30 строк кода (см. Числовые рецепты).

Наконец, есть моя программа для обнаружения пиков и подгонки пиков (пик означает колоколообразную кривую) на GPL. Он включает в себя библиотеку (libfityk) и привязки на основе SWIG к этой библиотеке для Python и Lua. Кто-то сообщил, что генерирует также Java-привязки и использует libfityk из Java. Но, честно говоря, это может быть излишним для ваших нужд.

...