根据我自己的经验和Java文档,在Math.pow(i,j)中,每当i为负数且j为非整数时,Math.pow将始终返回NaN,但是,根据所有在我尝试过的不同计算器中,有一些情况下,对于非整数指数的幂的负基础有一个真正的解决方案。
例如:
System.out.println(Math.pow(-3, 0.6));
返回NaN
这有什么工作吗?
提前致谢。
答案 0 :(得分:0)
你如何定义这种力量?标准方法是找到极性分解。基数的复数对数并将功率插入其中,
pow(-3, 0.6) = exp( 0.6 * (log(3) + i*pi) )
= pow(3,0.6) * (cos(0.6*pi) + i*sin(0.6*pi))
现在你也可以选择对数的其他分支来表示Ln(-3)
,因为-1=exp(-i*pi)=exp(i*3*pi)=exp(-5*i*pi)=exp(i*7*pi)=…
也是如此。这些变体中只有一个会给力量带来真正的结果。但是,计算机如何知道您确实需要该变体?你对pow(-3,0.61)
做了什么?
答案 1 :(得分:0)
根据我自己的经验和Java文档,在Math.pow(i,j)
中,只要i
为负数且j
为非整数,Math.pow将始终返回{{但是,根据我尝试过的所有不同的计算器,在某些情况下,对于非整数指数的幂,有一个负基础的真实解决方案。
例如:
NaN
返回System.out.println(Math.pow(-3, 0.6));
没有对此抱歉的任何工作