簡體   English   中英

如何使用 Nerdamer.js 獲得正確的解決方案

[英]how to get the right solution with Nerdamer.js

我正在使用 Nerdamer.js 並且它與代碼配合得很好,但是當我解決一些方程時,我得到的結果是 function 而不僅僅是數字這里是一個例子:

1x³+2x²+3x-4=0
如果你解這個方程,你會得到這些值:
0.7760454350285384
1.7965885235495673
-1.7965885235495673
或者有時只是第一個值

但是當我嘗試用 Nerdamer 解決它時,我將使用包含一些信息的 3 個對象的數組,每個 object 中的答案是:

  1. (-1/3)*(-146+6*sqrt(606))^(1/3)*2^(-1/3)+(5/3)*(-146+6*sqrt(606))^(-1/3)*2^(1/3)-2/3
  2. (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
  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());

您需要為每個解決方案調用.evaluate()

var sol = nerdamer
  .solveEquations('1x^3+2x^2+3x-4=0')
  .map(solution => nerdamer(solution).evaluate().text())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM