Метод expm1
Метод expm1 класса Math возвращает
значение выражения ex - 1, где
e - основание натурального логарифма.
В единственный параметр мы передаем число типа
double - показатель степени x.
Главное отличие от комбинации Math.exp(x) - 1
состоит в том, что для очень маленьких значений
x метод expm1 дает гораздо более
точный результат, поскольку избегает потери точности
при вычитании почти равных чисел.
Синтаксис
Math.expm1(double x)
Пример
Давайте вычислим значение выражения
ex - 1 для x = 1:
public class Main
{
public static void main(String[] args)
{
double res = Math.expm1(1.0);
System.out.println(res);
}
}
Результат выполнения кода:
1.718281828459045
Пример
Давайте сравним точность метода expm1
и выражения Math.exp(x) - 1 для
очень малого значения x = 1.0e-10:
public class Main
{
public static void main(String[] args)
{
double x = 1.0e-10;
double res1 = Math.expm1(x);
double res2 = Math.exp(x) - 1;
System.out.println(res1);
System.out.println(res2);
}
}
Результат выполнения кода:
1.0000000000500001E-10
1.000000082740371E-10
Пример
Давайте вычислим значение выражения
ex - 1 для отрицательного
значения x = -1:
public class Main
{
public static void main(String[] args)
{
double res = Math.expm1(-1.0);
System.out.println(res);
}
}
Результат выполнения кода:
-0.6321205588285577
Пример
Давайте проверим значение метода expm1
в нуле:
public class Main
{
public static void main(String[] args)
{
double res = Math.expm1(0.0);
System.out.println(res);
}
}
Результат выполнения кода:
0.0