JavaScript 中变量误差的非线性回归
Non-linear regression with errors in variables in JavaScript
我需要一个可以在浏览器中运行的强大的曲线拟合算法。也就是说,我需要它能够拟合多项式和三角函数(最好是所有自定义函数),并且它还必须考虑两个变量中的错误。
我想使用现有的库或重写一个用不同但可以理解的语言编写的实现 (伪代码、Python、C#、没有太多记忆魔法的 C 等)。或者,如果可能的话,我可以使用 JavaScript 的转换器。然而,我已经搜索了几个小时,但没有找到任何合适的 JavaScript 库,也没有找到我可以抄袭的直接实现。
我已经找到了两个可以满足我要求的软件。
- 第一个是 Gnuplot,它是一个用 C 编写的实用程序。它是开源的,但我发现代码有些复杂,曲线拟合部分与程序的其他部分相互依赖,所以我没能把它移植到 JavaScript.
- 第二个是 SciPy,Python 的数学库。如果相关部分实际上写在 Python 中,那将是一个轻松的胜利。不幸的是,情况并非如此,因为它是一段经过修改的旧 Fortran 代码,因此它可以与 Python 通信。代码对我来说太难和陈旧了,而且 Fortran-to-Javascript 转换器因为代码中的 Python-specific 东西而无法工作。
你知道我可以使用的项目吗?我知道这不会是一个“解决所有问题的答案”,但我会感激任何能让我更接近完成的东西。
gnuplot 可以通过 Emscripten 转码为 运行 作为浏览器中的 javascript。查看现场演示站点 gnuplot + emscripten。
gnuplot 项目目前不支持生成的 javascript 变体,但原理验证演示令人印象深刻。
我需要一个可以在浏览器中运行的强大的曲线拟合算法。也就是说,我需要它能够拟合多项式和三角函数(最好是所有自定义函数),并且它还必须考虑两个变量中的错误。
我想使用现有的库或重写一个用不同但可以理解的语言编写的实现 (伪代码、Python、C#、没有太多记忆魔法的 C 等)。或者,如果可能的话,我可以使用 JavaScript 的转换器。然而,我已经搜索了几个小时,但没有找到任何合适的 JavaScript 库,也没有找到我可以抄袭的直接实现。
我已经找到了两个可以满足我要求的软件。
- 第一个是 Gnuplot,它是一个用 C 编写的实用程序。它是开源的,但我发现代码有些复杂,曲线拟合部分与程序的其他部分相互依赖,所以我没能把它移植到 JavaScript.
- 第二个是 SciPy,Python 的数学库。如果相关部分实际上写在 Python 中,那将是一个轻松的胜利。不幸的是,情况并非如此,因为它是一段经过修改的旧 Fortran 代码,因此它可以与 Python 通信。代码对我来说太难和陈旧了,而且 Fortran-to-Javascript 转换器因为代码中的 Python-specific 东西而无法工作。
你知道我可以使用的项目吗?我知道这不会是一个“解决所有问题的答案”,但我会感激任何能让我更接近完成的东西。
gnuplot 可以通过 Emscripten 转码为 运行 作为浏览器中的 javascript。查看现场演示站点 gnuplot + emscripten。 gnuplot 项目目前不支持生成的 javascript 变体,但原理验证演示令人印象深刻。