Функция math.Expm1
Функция math.Expm1 вычисляет значение e^x - 1 (экспонента от x минус 1) с высокой точностью.
Эта функция особенно полезна, когда x близок к нулю, поскольку прямое вычисление через math.Exp(x) - 1 может привести к значительной потере точности из-за вычитания близких чисел.
В первый параметр мы передаем значение x, для которого нужно вычислить e^x - 1.
Функция возвращает значение типа float64, представляющее собой результат вычисления.
Синтаксис
math.Expm1(x)
Пример
Давайте вычислим значение e^x - 1 для x = 0.5:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Expm1(0.5)
fmt.Println(res)
}
Результат выполнения кода:
0.6487212707001282
Пример
Давайте вычислим значение e^x - 1 для x = 0.0001 и сравним с прямым вычислением через math.Exp:
package main
import (
"fmt"
"math"
)
func main() {
x := 0.0001
res1 := math.Expm1(x)
res2 := math.Exp(x) - 1
fmt.Printf("Expm1: %.15f\n", res1)
fmt.Printf("Exp - 1: %.15f\n", res2)
}
Результат выполнения кода:
"Expm1: 0.000100005000166668"
"Exp - 1: 0.000100005000166668"
Пример
Давайте вычислим значение e^x - 1 для x = -0.5:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Expm1(-0.5)
fmt.Println(res)
}
Результат выполнения кода:
-0.3934693402873666
Смотрите также
-
функцию
math.Exp,
которая вычисляет экспоненту e^x -
функцию
math.Exp2,
которая вычисляет 2^x -
функцию
math.Log1p,
которая является обратной к math.Expm1 и вычисляет ln(1+x) -
функцию
math.Pow,
которая возводит число в произвольную степень