java中的指数方法

时间:2015-04-20 03:44:32

标签: java math

我正在执行一些像指数一样的数学计算,但是这里我在X3和X4中遇到了一些问题...它的打印值为0 ......即使X1和X2有一些值X3而X4打印为0。这是找到指数的正确方法吗?请告诉我问题出在哪里?

X=1/(standarddeviation*Math.sqrt(2*3.14159));
X1=((balance1-MEAN)/standarddeviation);
// System.out.println("x1 ="+X1);
X10=Math.pow(X1, 2);
System.out.println("x1 ="+X10);
X2=((-0.5)*X10);
System.out.println("x2 ="+X2);
// X3=Math.pow(X2, 2.7183);
X3=Math.exp(X2);
System.out.println("x3 ="+X3);
X4=X3*X;
System.out.println("x4 ="+X4);

1 个答案:

答案 0 :(得分:1)

我不知道这是否会解决你的目的。但我试图计算出这些值并得出以下结论

如果X2为负无穷大,则结果为正零,在您的情况下为X3。

如果你去看java中的Math.exp函数的javadocs,那么它就在那里提到了。链接 - http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html

对于你的例子,我试图放置样本值,我得到了类似的结果

public static void main(String args[]){
        double X10=Math.pow(-34531, 2);
        System.out.println("X10 : " + X10);
        double X2=((-0.5)*X10);
        System.out.println("X2 : " + X2);
        double X3=Math.exp(X2);
        System.out.println("X3 : " + X3);
    }

输出:

X10 : 1.192389961E9
X2 : -5.961949805E8
X3 : 0.0