数学在Java中有没有一种求解方法(eq.inside)?
如果我想从下面的等式中解出变量(p),其他的都已知:
Java中有没有一种方法可以让我这么做
我可以用我的计算器来完成这项工作,而且我确信Python有它的功能——所以我知道它是可行的。谢谢
以下是快速参考图:
带圆的x值是(p),它满足方程的两边。但计算所有值,然后检查零并不是最有效的方法
你可以在下面搜索框中键入要查询的问题!
如果我想从下面的等式中解出变量(p),其他的都已知:
Java中有没有一种方法可以让我这么做
我可以用我的计算器来完成这项工作,而且我确信Python有它的功能——所以我知道它是可行的。谢谢
以下是快速参考图:
带圆的x值是(p),它满足方程的两边。但计算所有值,然后检查零并不是最有效的方法
# 1 楼答案
在Apache Commons Math中,有几种数值方法可以用来求函数的根。见documentation for numerical methods。Java中可能还有许多其他现有的数值方法库
至于象征性地解这些方程,我不知道用Java最好的方法。你可以使用基于JVM的Lisp编译一个计算机代数系统,比如说Maxima(我知道ABCL,但可能还有其他的)
用符号方式解方程很困难,Maxima的符号解算器也不太强大。但经过一些劝诱,我得到了以下信息,在使用之前,您需要验证一下:
其中
gamma_greek
是较低的不完全伽马函数。所以,如果你有一个低阶不完全伽马函数的逆函数的实现,你可以不用调用寻根算法来解决这个问题。Apache Commons Math似乎没有,尽管其他库可能会这样做。另见this question on SO。祝你好运,玩得开心# 2 楼答案
你必须实现一个函数,给出方程两边的差,然后是某种单变量解算器。由于该方程在正轴上的凸性,所有经典方法,尤其是割线法,都应该完美地工作
你可以这样称呼它
事实证明,割线法是不稳定的,使用修正的regula-falsi法