首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java峰拟合库

java峰拟合库
EN

Stack Overflow用户
提问于 2010-07-13 10:13:34
回答 2查看 2.1K关注 0票数 2

有没有人知道Java的peakfitting库?

我想给它一个数据数组,它告诉我峰值的位置。

例如,对于此数据:

x, y

-5, 0.875333026

-4, 0.885868909

-3, 0.895851362

-2, 0.903971085

-1, 0.908274124

0, 0.907117054

1, 0.901894046

2, 0.894918547

3, 0.887651936

4, 0.880114302

5, 0.872150014

它会说峰值在零下0.75度

我可能只想拟合高斯分布,或者分裂高斯分布。

我已经将它标记为curve-fitting,而不是peak-fittingpeak-finding,因为我没有足够的声誉来制作新的标记……

编辑:我更喜欢Apache (或兼容的)许可代码...

EN

回答 2

Stack Overflow用户

发布于 2010-07-14 20:23:10

你想用最小二乘拟合来确定峰位吗?我认为最流行的方法是Levenberg-Marquardt算法。

我不知道任何Java库,但我会搜索以下术语:非线性曲线拟合、非线性最小二乘、Levenberg- Marquardt或仅Marquardt方法。您也可以考虑自己编写代码。如果你有一个用于矩阵操作的库,那么它就像20-30行代码(参见数字处方)。

最后,在GPL上有我的program for peak detection and peak fitting (峰值表示钟形曲线)。它包括一个库(libfityk)和到该库的基于SWIG的Python和Lua绑定。有人报告说,还生成了Java绑定,并使用了Java中的libfityk。但老实说,这可能是对您的需求的过度杀伤力。

票数 1
EN

Stack Overflow用户

发布于 2011-01-18 05:47:45

不知道你是否已经找到了这个问题的答案,但是你肯定可以使用Apache Commons Math http://commons.apache.org/math/index.html,它有几个曲线拟合方法以及一个Levenberg-Marquardt库的实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3233722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档