CodeGym /Java 博客 /随机的 /Java 中的 Math.exp() 方法
John Squirrels
第 41 级
San Francisco

Java 中的 Math.exp() 方法

已在 随机的 群组中发布
Math类包含处理数学函数的方法在本文中,我们将讨论Java 中的Math.exp()方法。它返回数e 的双精度值次方。

什么是指数函数:一个非常简短的数学介绍

注意:本节解释了Math.exp()方法背后的数学原理。如果您已经知道这一点,或者只是想在不了解本质的情况下使用该方法,请随时继续进行下一点。指数是函数y = e x,其中e是一个棘手的数学数字,大约为 2.718281828459045。这个数字与著名的 pi 数字一样重要,但它主要为数学家、程序员和从事统计工作的人所知。顺便说一句,它有一个名字:欧拉数。e也是自然对数的底。这是指数函数图: Java 中的 Math.exp() 方法 - 1服从指数定律的过程有一个共同的特性:在相同的时间间隔内,它们的参数变化次数相同。例如,液体的冷却:空气和液体的温差越大,冷却得越快。从山上滚下来的雪球越大,滚下的速度就越快。

Java 中的 Math.exp() 方法

现在让我们回到 Java。Math类的double exp(double x)方法计算指数函数在x点的值,换句话说,它返回数字e的x次方。更准确地说,它返回一个具有一定精度的近似值。返回欧拉数e的双精度值次方。即Math.exp(2.0) = e 2.0(大致为 7.34) 下面是该方法的声明:

double exp(double x)
其中x是提高数字e的程度。让我们举个例子。

public class ExpExample {
   public static void main(String[] args) {
       int x1 = 2;
       double x2 = 0.5;
       double x3 = 1;
       System.out.println("exponential function in  " + x1 + " = " + Math.exp(x1));
       System.out.println("exponential function in  " + x2 + " = " + Math.exp(x2));
       System.out.println("exponential function in  " + x3 + " = " + Math.exp(x3));
   }
}
输出是:
2 中的指数函数 = 7.38905609893065 0.5 中的指数函数 = 1.6487212707001282 1.0 中的指数函数 = 2.718281828459045

一些特殊情况

在数学中有不确定形式的概念,以及正无穷大和负无穷大。正数除以 0.0 得到正无穷大,负数得到负无穷大。您可以通过不同的方式获得不确定的形式。例如,如果您尝试将零除以零或将无穷大除以无穷大。在 Java 中,有来自Double类的特殊常量,例如Double.NaN(有点不确定的形式)、Double.POSITIVE_INFINITYDouble.NEGATIVE_INFINITYMath.exp()方法在面对这三个概念时以特定方式表现:
  • 如果参数为 NaN,则结果也为 NaN。
  • 如果参数是正无穷大,那么结果也是正无穷大。
  • 如果参数为负无穷大,则结果为正零。
以下是特殊情况的代码示例:

public class ExpSpecialCases {

   public static void main(String[] args) {

   double positiveInfinity = Double.POSITIVE_INFINITY;
   double negativeInfinity = Double.NEGATIVE_INFINITY;
   double nan = Double.NaN;

   //The argument is positive infinity, the output is positive infinity
       System.out.println(Math.exp(positiveInfinity));

   //The argument is negative infinity, the output is zero
       System.out.println(Math.exp(negativeInfinity));

   //The argument is NaN, the output is NaN
       System.out.println(Math.exp(nan));
}
}
输出是:
无穷大 0.0 NaN
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION