MSK 发表于 2017-7-20 21:32:03

科学计算 神经网络深度学习 Numpy 【6】ufunc数学运算

什么是ufunc?
unfunc 是 Universal functions的缩写,意为通用函数

为什么要有ufunc?
在NumPy中,通用函数是numpy.ufunc类的实例。许多内置函数在编译的C代码中实现,对于数据处理运算效率极高

怎么使用ufunc?
>>> a = np.linspace(0,3,5)
>>> a
array([ 0.,0.75,1.5 ,2.25,3.])
>>> b = np.sin(a)
>>> b
array([ 0.      ,0.68163876,0.99749499,0.7780732 ,0.14112001])
先创建一个初始值为0,最终值为3,个数为5的数组,计算各元素的sin值并返回


差不多都这样~{:10_327:}



注意ufunc有一个可选参数,它表示对哪一个数组进行更改,默认返回一个新数组

>>> c = np.add(a,b,a)
>>> id(c) == id(a)
True
>>> c
array([ 0.      ,1.36327752,1.99498997,1.55614639,0.28224002])
>>> a
array([ 0.      ,1.36327752,1.99498997,1.55614639,0.28224002])

我们将a数组与b数组相加,对a数组进行更改,再将值返回给c
结果a的值改变,且a与c相等


!!!
即使你设置了对哪一个数组进行更改,ufunc仍然会返回数据~{:10_297:}



static/image/hrline/2.gif


以下是一部分与数学计算有关的ufunc{:10_266:}


add(x1,x2 [,out])        按元素添加参数。
subtract(x1,x2 [,out])        按元素方式减去参数。
multiply(x1,x2 [,out])        逐元素乘法参数。
divide(x1,x2 [,out])        逐元素分割参数。
logaddexp(x1,x2 [,out])        输入的求和的对数。
logaddexp2(x1,x2 [,out])        以2为底的输入的乘方和的对数。
true_divide(x1,x2 [,out])        按元素方式返回输入的真正除法。
floor_divide(x1,x2 [,out])        返回小于或等于输入的除法的最大整数。
negative(x [,out])        数值负,元素。
power(x1,x2 [,out])        第一个数组元素从第二个数组提升到权力,逐元素。
remainder(x1,x2 [,out])        返回元素的除法余数。
mod(x1,x2 [,out])        返回元素的除法余数。
fmod(x1,x2 [,out])        返回除法的元素余项。
absolute(x [,out])        逐个计算绝对值。
fabs(x [,out])        按元素计算绝对值。
rint(x [,out])        数组的圆形元素到最接近的整数。
sign(x [,out])        返回数字符号的逐元素指示。
conj(x [,out])        按元素方式返回复共轭。
exp(x [,out])        计算输入数组中所有元素的指数。
exp2(x [,out])        对于输入数组中的所有p,计算2 ** p。
log(x [,out])        自然对数,逐元素。
log2(x [,out])        x的基础2对数。
log10(x [,out])        以元素为单位返回输入数组的基数10的对数。
expm1(x [,out])        对数组中的所有元素计算exp(x) - 1
log1p(x [,out])        返回一个加自然对数的输入数组,元素。
sqrt(x [,out])        按元素方式返回数组的正平方根。
square(x [,out])        返回输入的元素平方。
cbrt(x [,out])        以元素方式返回数组的多维数据集根。
reciprocal(x [,out])        元素方式返回参数的倒数。

三角函数:

sin(x [,out])        三角正弦,元素。
cos(x [,out])        元素方面。
tan(x [,out])        逐元素计算切线。
arcsin(x [,out])        反正弦,元素。
arccos(x [,out])        三角反余弦,元素方式。
arctan(x [,out])        三角反正切,元素。
arctan2(x1,x2 [,out])        x1/x2的元素平方倒圆切线正确选择象限。
hypot(x1,x2 [,out])        给定直角三角形的“腿”,返回其斜边。
sinh(x [,out])        双曲正弦,元素。
cosh(x [,out])        双曲余弦,元素。
tanh        逐元素计算双曲正切。
arcsinh(x [,out])        逆双曲正弦元。
arccosh(x [,out])        逆双曲余弦,元素方式。
arctanh(x [,out])        逆双曲正切元素。
deg2rad(x [,out])        将角度从度转换为弧度。
rad2deg(x [,out])        将角度从弧度转换为度。

Surtees_CYX 发表于 2017-12-21 21:06:26

{:10_254:}

爱俯卧撑的123 发表于 2022-7-8 16:41:41

页: [1]
查看完整版本: 科学计算 神经网络深度学习 Numpy 【6】ufunc数学运算