python 中的 numpy . logaddexp()
numpy.logaddexp() 函数用于计算输入的幂和的对数。
该函数在统计中非常有用,因为计算出的事件概率可能很小,超出了正常浮点数的范围。在这种情况下,存储计算出的概率的对数。这个函数允许添加以这种方式存储的概率。它计算log(exp(arr1) + exp(arr2))
。
语法: numpy.logaddexp(arr1,arr2,/,out=None,*,其中=True,casting='same_kind ',order='K ',dtype=None,ufunc 'logaddexp ')
参数: arr 1:【array _ like】输入数组。 arr 2:【array _ like】输入数组。 out:【n 数组,可选】存储结果的位置。 - >如果提供,它必须具有输入广播到的形状。 - >如果未提供或无,则返回新分配的阵列。 其中:【array _ like,可选】True 值表示计算该位置的通用函数(ufunc),False 值表示将值单独留在输出中。 **kwargs : 允许您将关键字可变长度的参数传递给函数。当我们想要处理函数中的命名参数时,会用到它。
返回:【数组或标量】返回 exp(arr1) + exp(arr2)的对数。如果 arr1 和 arr2 都是标量,这就是标量。
代码#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]