Javascript 给定两个函数求交点
Javascript find intersections given two functions
我今天正在尝试求解函数相交的坐标。我现在正在使用 nerdarmer 库,但它只是 returns 所有可能解决方案中的一个解决方案。例如,我希望下面的代码打印 -1, 0, 1 但它只输出 0。另一个例子是如果我想找到 y = 0 和 sin(x) 之间的交点,我希望输出为 ... , (-2pi, 0), (-pi, 0), (pi, 0), (2pi, 0), (3pi, 0), ...
intersect("x^3", "x")
function intersect(f1, f2){
var x = nerdamer.solve('f1', 'f2');
console.log(x.toString());
}
有什么办法可以得到所有可能的解吗?
你误解了nerdamer.solve
的语法
第一个参数是公式或等式。
第二个参数是要求解的变量。
如果第一个参数不是方程式,则假定它等于 0。
在你的情况下 x^3=0。只有解决方案 0.
如果你想使方程相交,你需要在第一个参数中将它们设置为彼此相等。在第二个参数中只需指定 x。 (或根据需要更改它以满足您的需要)。
intersect("x^3", "x")
function intersect(f1, f2){
var x = nerdamer.solve(f1+"="+f2, "x");
console.log(x.toString()); //outputs [0,1,-1]
}
编辑:
在您的示例中,您还直接将字符串“f1”和“f2”放入似乎只求解 f=0 的求解函数中;
我今天正在尝试求解函数相交的坐标。我现在正在使用 nerdarmer 库,但它只是 returns 所有可能解决方案中的一个解决方案。例如,我希望下面的代码打印 -1, 0, 1 但它只输出 0。另一个例子是如果我想找到 y = 0 和 sin(x) 之间的交点,我希望输出为 ... , (-2pi, 0), (-pi, 0), (pi, 0), (2pi, 0), (3pi, 0), ...
intersect("x^3", "x")
function intersect(f1, f2){
var x = nerdamer.solve('f1', 'f2');
console.log(x.toString());
}
有什么办法可以得到所有可能的解吗?
你误解了nerdamer.solve
的语法第一个参数是公式或等式。 第二个参数是要求解的变量。 如果第一个参数不是方程式,则假定它等于 0。 在你的情况下 x^3=0。只有解决方案 0.
如果你想使方程相交,你需要在第一个参数中将它们设置为彼此相等。在第二个参数中只需指定 x。 (或根据需要更改它以满足您的需要)。
intersect("x^3", "x")
function intersect(f1, f2){
var x = nerdamer.solve(f1+"="+f2, "x");
console.log(x.toString()); //outputs [0,1,-1]
}
编辑:
在您的示例中,您还直接将字符串“f1”和“f2”放入似乎只求解 f=0 的求解函数中;