CodeGym /Java Blog /Toto sisi /Java 中的 Math.exp() 方法
John Squirrels
等級 41
San Francisco

Java 中的 Math.exp() 方法

在 Toto sisi 群組發布
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