鱼C论坛

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

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

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

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

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

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

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

怎么使用ufunc?
  1. >>> a = np.linspace(0,3,5)
  2. >>> a
  3. array([ 0.  ,  0.75,  1.5 ,  2.25,  3.  ])
  4. >>> b = np.sin(a)
  5. >>> b
  6. array([ 0.        ,  0.68163876,  0.99749499,  0.7780732 ,  0.14112001])
复制代码

先创建一个初始值为0,最终值为3,个数为5的数组,计算各元素的sin值并返回


差不多都这样~



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

  1. >>> c = np.add(a,b,a)
  2. >>> id(c) == id(a)
  3. True
  4. >>> c
  5. array([ 0.        ,  1.36327752,  1.99498997,  1.55614639,  0.28224002])
  6. >>> a
  7. array([ 0.        ,  1.36327752,  1.99498997,  1.55614639,  0.28224002])
复制代码


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


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




                               
登录/注册后可看大图



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


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


三角函数:

  1. sin(x [,out])        三角正弦,元素。
  2. cos(x [,out])        元素方面。
  3. tan(x [,out])        逐元素计算切线。
  4. arcsin(x [,out])        反正弦,元素。
  5. arccos(x [,out])        三角反余弦,元素方式。
  6. arctan(x [,out])        三角反正切,元素。
  7. arctan2(x1,x2 [,out])        x1/x2的元素平方倒圆切线正确选择象限。
  8. hypot(x1,x2 [,out])        给定直角三角形的“腿”,返回其斜边。
  9. sinh(x [,out])        双曲正弦,元素。
  10. cosh(x [,out])        双曲余弦,元素。
  11. tanh        逐元素计算双曲正切。
  12. arcsinh(x [,out])        逆双曲正弦元。
  13. arccosh(x [,out])        逆双曲余弦,元素方式。
  14. arctanh(x [,out])        逆双曲正切元素。
  15. deg2rad(x [,out])        将角度从度转换为弧度。
  16. 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-4-25 06:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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