如何用JavaScript求解复杂方程
我有一个类型的方程式如何用JavaScript求解复杂方程,javascript,Javascript,我有一个类型的方程式 23/(x+3) +[ (x-3)/(x+3) ] *2 = 57 我想用java-script来解x。有没有javascript库来解这些类型的方程。谢谢你的帮助 您可以使用这个库,但您需要为表达式编写解析器,您可以使用它或自己编写解析器。只有少量的标记就不会那么难了。您可以使用它-它允许您将表达式传递到解析器中,该解析器返回一个函数对象,该函数对象可以对给定的输入进行求值 下面是一个例子: var expr = Parser.parse("2 ^ x"); expr
23/(x+3) +[ (x-3)/(x+3) ] *2 = 57
我想用java-script来解x。有没有javascript库来解这些类型的方程。谢谢你的帮助 您可以使用这个库,但您需要为表达式编写解析器,您可以使用它或自己编写解析器。只有少量的标记就不会那么难了。您可以使用它-它允许您将表达式传递到解析器中,该解析器返回一个函数对象,该函数对象可以对给定的输入进行求值
下面是一个例子:
var expr = Parser.parse("2 ^ x");
expr.evaluate({ x: 3 }); // 8
有一些JavaScript解算器可以从数值上解决您的问题。我知道的非线性解算器是。下面是一个适合你的问题的例子。我们要做的第一件事是重新排列成F(x)=0的形式 x0=-2.7999997597933
用户功能
这是一个使用Ceres.js解决用户提供函数的示例
从导入{Ceres}https://cdn.jsdelivr.net/gh/Pterodactylus/Ceres.js@master/Ceres-v1.5.3.js'
var fn1=函数f1(x){
//你必须重新排列你的函数,使其等于0 23/(x[0]+3)+(x[0]-3)/(x[0]+3))*2=57
返回23/(x[0]+3)+(x[0]-3)/(x[0]+3))*2-57;
}
让解算器=新Ceres()
add_函数(fn1)//将第一个方程添加到解算器。
solver.promise.then(函数(结果){
var x_guess=[1]//猜测解决方案的初始值。
var s=solver.solve(x_guess)//解方程
var x=s.x//将计算出的解数组分配给变量x
document.getElementById(“demo”).value=s.report//Print solver report
解析器()/ /需要在C++中释放内存
})
您的等式实际上是一个需要解析的字符串,还是只需要在开发过程中用JavaScript计算?