我试图在node.js中求解非线性方程组

时间:2015-12-25 09:39:17

标签: javascript node.js math

我正在尝试以编程方式解决以下等式:

(ax−x0)^2 + (ay−y0)^2 = r^2
(bx−x0)^2 + (by−y0)^2 = (r+330bs)^2
(cx−x0)^2 + (cy−y0)^2 = (r+330cs)^2

ax,bx,cx,ay,by,cy,bscs是参数,我在运行时获得的所有参数。 我正在尝试查找x0y0,但是当我将其提供给 algebra.js 时,它会出错。 我是一名高中生,所以我没有学习高端数学(我找到了旋转矩阵的解决方案,我还没有学到)

希望能提前得到一些帮助。

编辑:

我与 algebra.js 一起使用的代码是:

/*
    a = ax*
    b = bx*
    c = cx*
    d = ay*
    e = by*
    f = cy*
    g = x0
    h = y0
    i = r
    j = bs*
    k = cs*
*/
var eq = algebra.parse("(a−g)^2 + (d−h)^2 = i^2");
eq.solveFor("g");

然后我想把答案放在第二个等式中并解决它,但那不起作用。

EDIT2:

顺便说一下,这个等式的来源是this

1 个答案:

答案 0 :(得分:2)

问题是减号本身。 尝试使用我从这里复制的减号

console.log("−".charCodeAt());

你得到8722 http://www.codetable.net/decimal/8722 现在我用键盘输入减号

console.log("-".charCodeAt());

我得到45 http://www.codetable.net/decimal/45

使用charCode 45,您的代码可以正常工作,至少对我而言

这就是我所知道的,我对这个抱歉没有任何解释:)