如何在Java中求解以下数学方程式?
等式:
x + sin(x) = constant
,其中x是变量。 18年后,我遇到了这个问题。我忘记了这个基本概念。请在这个基本的高中问题上帮助我。
我尝试按照以下公式对公式x + sin(x) = constant
进行编码,但是,给出了错误的答案。请让我知道我错了。
public double balanceLength(double total_weight) {
// 5.00 assume inical value of x
return newtonRaphson( 5.00, total_weight);
}
private static double derivFunc(double x)
{
return sin(x) + x;
}
private static double func(double x, double weight)
{
return sin(x) + x - weight;
}
static double newtonRaphson(double x, double weight)
{
double h = func(x, weight) / derivFunc(x);
while (abs(h) >= EPSILON)
{
h = func(x, weight) / derivFunc(x);
x = x - h;
}
return round(x * 100.0) / 100.0 ;
}
答案 0 :(得分:1)
这是一个非常基本的实现,仅进行了部分测试。它以弧度重新运行time.Sleep( 1000 * time.MilliSecond )
,对于给定的x
满足y=six(x) +x
:
y
这不是可靠的实现,应仅用作演示。