我正在使用 Nerdamer.js 并且它与代码配合得很好,但是当我解决一些方程时,我得到的结果是一个函数而不仅仅是数字
这是一个例子:
1x³+2x²+3x-4=0
如果你解这个方程,你会得到这些值:
0.7760454350285384
1.7965885235495673
-1.7965885235495673
或者有时只是第一个值
但是当我尝试用 Nerdamer 解决它时,我会得到一个包含一些信息的 3 个对象的数组,每个对象中的答案是:
(-1/3)*(-146+6*sqrt(606))^(1/3)*2^(-1/3)+(5/3)*(-146+6*sqrt(606))^(-1/3)*2^(1/3)-2/3
(1/6)*((-146+6*sqrt(606))^(1/3)*2^(-1/3))^(-1)*(-5+5*i*sqrt(3))+(1/6)*(-146+6*sqrt(606))^(1/3)*(1+i*sqrt(3))*2^(-1/3)-2/3
(1/6)*((-146+6*sqrt(606))^(1/3)*2^(-1/3))^(-1)*(-5-5*i*sqrt(3))+(1/6)*(-146+6*sqrt(606))^(1/3)*(-i*sqrt(3)+1)*2^(-1/3)-2/3
这是我的代码:
let nerdamer = require('nerdamer');
require('nerdamer/Algebra.js');
require('nerdamer/Calculus.js');
require('nerdamer/Solve.js');
这就是我获取值的方式:
var sol = nerdamer.solveEquations('1x^3+2x^2+3x-4=0');
console.log(sol[0].toString());
console.log(sol[1].toString());
console.log(sol[2].toString());
答案 0 :(得分:1)
您需要为每个解决方案调用 .evaluate()
。
var sol = nerdamer
.solveEquations('1x^3+2x^2+3x-4=0')
.map(solution => nerdamer(solution).evaluate().text())