Java 计算相对误差最小的函数

Java 计算相对误差最小的函数,java,calculus,Java,Calculus,我需要用Java创建一个程序来计算函数:cbrt(1+x²)-x 相对误差最小。但我不知道这其中的逻辑,有人能帮我吗 (很抱歉我的英语不好)使用Java内置的数学库 double myCalculation(double x) { return Math.pow(1.0 + Math.pow(x, 2.0), (1.0/3.0)) - x; } 位于java.lang包中,因此它是java本机语言的一部分;没有涉及第三方库。接受两个double——x和y——并返回x^y的double表

我需要用Java创建一个程序来计算函数:cbrt(1+x²)-x

相对误差最小。但我不知道这其中的逻辑,有人能帮我吗


(很抱歉我的英语不好)

使用Java内置的数学库

double myCalculation(double x) {
    return Math.pow(1.0 + Math.pow(x, 2.0), (1.0/3.0)) - x;
}
位于
java.lang
包中,因此它是java本机语言的一部分;没有涉及第三方库。接受两个double——x和y——并返回x^y的double表示形式


请注意,使用此方法时,仍然需要担心浮点舍入错误。这对于您正在进行的计算类型是否重要取决于您自己。

如果
Math.pow
不足以计算立方根,并且您需要更高的精度,您可以使用
BigDecimal
来尽可能接近正确值。你可以使用牛顿法或哈雷法,直到你足够接近为止。

如果你需要代码帮助,请发布你已经开发的代码。请看:事实上,我对最小化错误还有疑问。也许这更像是一个数值计算问题,而不是编程问题。我不知道我的代码是否需要单独处理函数的每一部分(先是x²,然后是(1+x²),然后是cbrt(1+x²),…),因为我有相对误差的公式,只用于简单的运算,如求和和和和乘法。a)你能“手工”进行计算吗?b) 到目前为止你试过什么?c) 你看过我链接的那篇文章了吗?你还需要取立方根。无论如何,你真的不应该回答“给我一个密码”这样的问题。@EJoshuaS x的立方根是x^(1/3)真的。。。有点尴尬的是,我没有注意到:)我已经用函数编写了一个代码,比如:
y=Math.cbrt(1+Math.pow(x,2))-x但是我如何知道这是否给了我相对误差最小的结果?我不知道该用什么来比较结果,因为我可以把任何我想要的值,比如x=2。