NumPy参考 >例行程序 >Mathematical functions > numpy.frexp
numpy.
frexp
(X,[ OUT1,OUT2,] /,[ OUT =(无,无),] *,其中=真,铸造= 'same_kind' ,为了= 'K' ,D型细胞=无,subok =真[,签名,extobj ] )= <ufunc'frexp'> ¶将x的元素分解为尾数和二进制指数。
返回(尾数,指数),其中x =尾数* 2 ** exponent`。尾数位于开放区间(-1,1)中,而二进制指数是一个有符号整数。
要分解的数字数组。
尾数的输出数组。必须具有与x相同的形状。
指数的输出数组。必须具有与x相同的形状。
结果存储的位置。如果提供,它必须具有输入广播到的形状。如果未提供或没有,则返回一个新分配的数组。元组(只能作为关键字参数)的长度必须等于输出的数量。
此条件通过输入广播。在条件为True的位置,将out数组设置为ufunc结果。在其他地方,out数组将保留其原始值。请注意,如果通过default创建未初始化的out数组out=None
,则条件为False的数组中的
位置将保持未初始化。
有关其他仅关键字的参数,请参见 ufunc docs。
浮点值介于-1和1之间。如果x为标量,则为标量。
2的整数指数。如果x是标量,则为标量。
笔记
不支持复杂的dtype,它们会引发TypeError。
例子
>>> x = np.arange(9)
>>> y1, y2 = np.frexp(x)
>>> y1
array([ 0. , 0.5 , 0.5 , 0.75 , 0.5 , 0.625, 0.75 , 0.875,
0.5 ])
>>> y2
array([0, 1, 2, 2, 3, 3, 3, 3, 4])
>>> y1 * 2**y2
array([ 0., 1., 2., 3., 4., 5., 6., 7., 8.])