鱼C论坛

 找回密码
 立即注册
查看: 5779|回复: 2

[技术交流] 科学计算 神经网络深度学习 Numpy 【6】ufunc数学运算

[复制链接]
发表于 2017-7-20 21:32:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
什么是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值并返回


差不多都这样~



注意ufunc有一个可选参数[out],它表示对哪一个数组进行更改,默认返回一个新数组
>>> 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仍然会返回数据~




                               
登录/注册后可看大图



以下是一部分与数学计算有关的ufunc

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])        将角度从弧度转换为度。

评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-21 21:06:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-8 16:41:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 16:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表