python 遍历矩阵_python性能提高10倍的通用方法

注:对于没有参加过培训,或者没有python、三角、矩阵基础的朋友,如果要完全理解文中代码,需先适当补充相应基础知识!

       NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表要高效的多,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,在整个python生态中占有举足轻重的作用,本篇文章旨在讲解如何借助它来提升python的计算性能。

       在使用python进行模型点的计算过程中,经常需要遍历所有点,如果点的数量很多,则运行是非常慢的,那么,如何避开使用循环语句,而又能对每个点分别进行操作呢,答案就是:numpy!当然,除了numpy之外,python还有很多其它优秀的库,但鉴于Houdini只内置了numpy库,故本篇文章只讨论numpy的提速方法。

       numpy的计算对象通常来说都是数组或矩阵,我们所做的每一个操作都是针对数组里每个元素的,借助此特性,无需再像以前那样非得使用for循环来访问数组中的每个元素了,下面我们还是通过具体实例来说明numpy是如何对数组进行整体性操作的。首先创建一个含有10个元素的数组,然后对每个元素执行sin正弦函数计算,代码如下:

import  numpy  as  np

x = np.arange(0,10)

s = np.sin(x)

print(x)

print(s)

结果:[0 1 2 3 4 5 6 7 8 9]

[ 0. 0.84147098 0.90929743 0.14112001 -0.7568025 -0.95892427 -0.2794155   0.6569866   0.98935825  0.41211849]

       上述代码中,np.arange()函数和python默认的range()函数用法类似,这里得到0-9整数,并将这10个整数送入sin()函数计算正弦值,numpy的函数可以对数组的每个元素进行一次性的整体操作,而无需for循环,从而极大的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值