Как решить следующее математическое уравнение в 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 ;
}