java负双正交/负双倍的力量

问题描述:

我想用一个指数计算距离z坐标将在屏幕上从基本的z坐标的对象是,因为越远的对象是当物体靠近时,物体移动越慢,反之亦然,速度会加快。但涉及在这样做时,计算需要的负双基加倍功率,其可以是或可以不是一个负java负双正交/负双倍的力量

Math.pow(-1.1, -(z-25))+10.8347 

如果我-10和20每1.5之间使用数字,它给这些答案

-10.0 = -17.26773684806433 
-8.5 = NaN 
-7.0 = 31.948476745352608 
-5.5 = NaN 
-4.0 = -5.028392971714952 
-2.5 = NaN 
-1.0 = 22.752876537727232 
0.5 = NaN 
2.0 = 1.8803975674476092 
3.5 = NaN 
5.0 = 17.56219994932561 
6.5 = NaN 
8.0 = 5.780229715007055 
9.5 = NaN 
11.0 = 14.632198335832413 
12.5 = NaN 
14.0 = 7.981583293889997 
15.5 = NaN 
17.0 = 12.978288810000002 
18.5 = NaN 
20.0 = 9.22419 

当使用desmos时,我应该得到一个很好的慢速指数与每个人的答案。但这里的计算只会起作用,输入是一个整数,小数给出NaN和奇数似乎在做他们自己的事情,所以这里唯一正确的数字是-10,-4,2,8,14,20,把这些答案与他们的答案一致显示指数,但我需要这个方程来为几乎所有的数字工作。

+2

你有没有[阅读数学的javadoc。 POW(https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#pow-double-double-)? “如果第一个参数是有限的并且小于零...... [并且]如果第二个参数是有限的而不是整数,那么结果是NaN。” – yshavit

+0

那么有没有一种方法可以从其他地方获取我的计算结果? –

+0

有双打,没有。例如,'Pow.math(x,1.5)'是'Pow.math(x,3./2。)'。这意味着x的立方根,立方体。如果x是负数,那么它的平方根是一个虚数 - 而双数不能表达那些数。 – yshavit

一个应该给出距离的公式应该对所有可应用的输入都有一个真实的而不是想象的结果。

将负数提高到小数次数有imaginary number结果。 Java double是实数的近似值。只要结果是虚构的,Java Math函数就会返回NaN。

将负数提高到偶数整数即可获得肯定结果。将负数提高到奇数整数将产生负面结果。

您更喜欢z的偶数整数值的结果,对应于奇数整数值z-25。表现较好的公式-Math.pow(1.1, -(z - 25)) + 10.8347与这些投入相匹配,但您需要重新考虑公式背后的理论。

-10.0 : -17.26773684806433 
-8.5 : -13.524047455696502 
-7.0 : -10.279076745352606 
-5.5 : -7.466387494888428 
-4.0 : -5.028392971714952 
-2.5 : -2.91517790750445 
-1.0 : -1.0834765377272344 
0.5 : 0.5042132175022935 
2.0 : 1.8803975674476092 
3.5 : 3.0732523797913576 
5.0 : 4.107200050674389 
6.5 : 5.00340952651492 
8.0 : 5.780229715007055 
9.5 : 6.453565158914292 
11.0 : 7.037201664167585 
12.5 : 7.543088549146725 
14.0 : 7.981583293889997 
15.5 : 8.36166359815682 
17.0 : 8.691111189999997 
18.5 : 8.976671148126837 
20.0 : 9.22419 

我理解了它通过改变底片从

Math.pow(-1.1, -(z-25))+10.8347 

-(Math.pow(1.1, -(z-25))-10.8347) 

不知它让所有的答案工作

+0

我同意改变后的公式适合你喜欢的值,但是你是否理解为什么它是正确的,从理论上讲你的原始公式是正确的?否则,您可能会在其他情况下遇到问题。 –