如何用 Python 科学计算中的矩阵替代循环

2025-04-18 04:03:30
推荐回答(1个)
回答1:

import time
import math
import numpy as np

x = [i * 0.001 for i in xrange(1000000)] # 初始化数组0.000~999.999
start = time.clock()
for i, t in enumerate(x): # 用循环计算正弦值
x[i] = math.sin(t)
print "math.sin:", time.clock() - start

x = [i * 0.001 for i in xrange(1000000)]
x = np.array(x) # 初始化矩阵(这里是一维)
start = time.clock()
np.sin(x,x) # numpy的广播计算(代替循环)
print "numpy.sin:", time.clock() - start

# 输出
# math.sin: 1.15426932753
# numpy.sin: 0.0882399858083