我需要一个健壮的曲线拟合算法,可以在浏览器中工作。也就是说,我需要它能够拟合多项式和三角(理想情况下是所有定制的)函数,而且它还必须考虑到这两个变量中的错误。
我想使用现有的库或重写用不同但可理解的语言编写的实现*(伪代码、Python、C#、没有太多内存魔力的C等)*。或者,如果可能的话,我也可以使用一个转换程序将其转换为JavaScript。然而,我已经搜索了几个小时,没有找到任何合适的JavaScript库,也没有一个简单的实现可以抄袭。
我已经找到了两个可以做我想做的事情的软件。
- 第一个是GNOUUPT,这是一个用C编写的实用程序。它是开源的,但我发现代码有些复杂,曲线拟合部分与程序的其他部分非常相互依赖,所以我没有设法将其移植到JavaScript。
- 第二个是SciPy,这是一个用于Python的数学库。如果相关部分实际上是用Python编写的,那么这将是一次轻松的胜利。遗憾的是,事实并非如此,相反,它是一段经过修改的旧Fortran代码,以便它可以与Python通信。代码对我来说太难了,而且太古老了,Fortran到Java的转换程序也不能工作,因为代码中有特定于Python的东西。
你知道有什么我可以用的项目吗?我知道这不是一个“解决所有问题的答案”,但我会感激任何能让我更接近完成的事情。
2条答案
按热度按时间vmdwslir1#
可以通过Emscripten对GNOUPUPT进行代码转换,以在浏览器中以Java脚本的形式运行。请参见现场演示站点gnuplot + emscripten。作为结果的javascrip变体目前不受gnplot项目的支持,但是原理证明演示令人印象深刻。
jgzswidk2#
Js将允许您将数据数据适合任意函数。
点击此处查看完整的示例https://pterodactylus.github.io/Alglib.js/curve_fitting.html