Класът Math съдържа методи за работа с математически функции. В тази статия ще говорим за метода Math.exp() в Java. Връща числото e, повдигнато на степен двойна стойност.
Какво е експоненциална функция: много кратко математическо въведение
Забележка: Този раздел обяснява математиката зад метода Math.exp() . Ако вече знаете това or просто искате да използвате метода, без да разбирате същността, не се колеbyteе да преминете към следващата точка. Показателят е функцията y = e x , където e е сложно математическо число, което е приблизително 2,718281828459045. Това число е също толкова важно, колкото известното число пи, но го знаят предимно математици, програмисти и хора, работещи със статистика. Между другото, има име: числото на Ойлер. Също така e е основата на естествения логаритъм. Ето графиката на експоненциалната функция: Процесите, които се подчиняват на експоненциалния закон, имат едно общо свойство: за един и същ интервал от време техните параметри се променят еднакъв брой пъти. Например охлаждането на течност: колкото по-голяма е температурната разлика между въздуха и течността, толкова по-бързо се охлажда. Колкото по-голяма става снежната топка, която се търкаля по планината, толкова по-бързо се търкаля надолу.Метод Math.exp() в Java
Сега да се върнем на Java. Методът double exp(double x) на класа Math изчислява стойността на експонентната функция в точката 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
Някои специални случаи
В математиката има понятия за неопределена форма, Howто и за положителна и отрицателна безкрайност. Положително число, разделено на 0,0, дава положителна безкрайност, а отрицателно число дава отрицателна безкрайност. Можете да получите неопределена форма по различни начини. Например, ако се опитате да разделите нула на нула or безкрайност на безкрайност. В Java има специални константи от клас Double като Double.NaN (донякъде неопределена форма), Double.POSITIVE_INFINITY и Double.NEGATIVE_INFINITY . Методът Math.exp() се държи по специфичен начин, когато е изпequals пред тези три концепции:- Ако аргументът е 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