Python中的 numpy.logaddexp()
numpy.logaddexp()函数用于计算输入的幂和的对数。
此函数在计算的事件概率可能小到超出正常浮点数范围的统计数据中很有用。在这种情况下,存储计算概率的对数。此函数允许添加以这种方式存储的概率。它计算log(exp(arr1) + exp(arr2))
。
Syntax : numpy.logaddexp(arr1, arr2, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, ufunc ‘logaddexp’)
Parameters :
arr1 : [array_like] Input array.
arr2 : [array_like] Input array.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> If not provided or None, a freshly-allocated array is returned.
where : [array_like, optional] True value means to calculate the universal functions(ufunc) at that position, False value means to leave the value in the output alone.
**kwargs : allows you to pass keyword variable length of argument to a function. It is used when we want to handle named argument in a function.
Return : [ndarray or scalar] It returns Logarithm of exp(arr1) + exp(arr2). This is a scalar if both arr1 and arr2 are scalars.
代码#1:
# Python3 code demonstrate logaddexp() function
# importing numpy
import numpy as np
in_num1 = 2
in_num2 = 3
print ("Input number1 : ", in_num1)
print ("Input number2 : ", in_num2)
out_num = np.logaddexp(in_num1, in_num2)
print ("Output number : ", out_num)
输出 :
Input number1 : 2
Input number2 : 3
Output number : 3.31326168752
代码#2:
# Python3 code demonstrate logaddexp() function
# importing numpy
import numpy as np
in_arr1 = [2, 3, 8]
in_arr2 = [1, 2, 3]
print ("Input array1 : ", in_arr1)
print ("Input array2 : ", in_arr2)
out_arr = np.logaddexp(in_arr1, in_arr2)
print ("Output array : ", out_arr)
输出 :
Input array1 : [2, 3, 8]
Input array2 : [1, 2, 3]
Output array : [ 2.31326169 3.31326169 8.00671535]