如何在Java中求解正弦数学方程式?

时间:2018-12-23 07:47:37

标签: java math trigonometry

如何在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 ;
    }

1 个答案:

答案 0 :(得分:1)

这是一个非常基本的实现,仅进行了部分测试。它以弧度重新运行time.Sleep( 1000 * time.MilliSecond ) ,对于给定的x满足y=six(x) +x

y

这不是可靠的实现,应仅用作演示。