Javascript 等效于 Matlab 函数的函数:Polyfit/Polyval?

Spe*_*ets 6 javascript math matlab linear-algebra

迫切需要一个相当于 Matlab 中存在的 polyval 和 polyfit 函数的 Javascript。本质上,matlab 中的那些函数根据指定的多项式基于两个大小相同的数组进行曲线拟合。我需要在 javascript 中做一些涉及曲线拟合的计算,但我一生都找不到等效的函数。

这是MatLab对polyfit函数的解释

"P = POLYFIT(X,Y,N) 找出 N 次多项式 P(X) 的系数,它在最小二乘意义上最适合数据 Y。P 是长度为 N+1 的行向量,包含多项式降幂系数,P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1)。”

这是 MatLab 对 polyval 的解释。

"POLYVAL 求值多项式。Y = POLYVAL(P,X) 返回在 X 处求值的多项式 P 的值。P 是长度为 N+1 的向量,其元素是多项式的降幂系数。

    Y = P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1)"
Run Code Online (Sandbox Code Playgroud)

任何帮助都会是超级的。

问候,

Amr*_*mro 2

POLYFIT执行最小二乘 多项式拟合,归结为求解线性方程组。我进行了快速搜索,但找不到解决此类系统的基本线性代数 Javascript 库...最简单的方法是自己实现高斯消除算法。

POLYVAL只是通过代入方程中的系数来计算 X 点处的多项式。

  • 我为此写了一些东西,因为它不存在!https://github.com/prismofeverything/cyclops。它还会根据结果系数生成一个函数,用于计算给定索引值的多项式。 (3认同)