在matlab中進行矩陣元素處理時,使用矩陣運算比for循環快。在Python語言中也是這樣的。下面這個程式是一個簡單的測試。
import time as tm
import numpy as
np
dim =
100000#資料長度(包含的元素個數)
x1 = np.ones(dim)
x2 = np.ones(dim)
yFor =
np.ones(dim)
tStart =
tm.clock()#開始計時
#for循環解算x1*x2(對應元素相乘)
for i in
range(dim):
yFor[i] = x1[i]*x2[i]
tEnd=tm.clock()#停止計時
tFor =
tEnd-tStart#計算用時
tStart =
tm.clock()#開始計時
#矩陣計算x1*x2(對應元素相乘)
yMatrix = x1*x2
tEnd =
tm.clock()#停止計時
tMatrix =
tEnd-tStart#計算用時
'for循環用時tFor=',tFor
'矩陣運算用時tMatrix=',tMatrix
'運算用時tFor-tMatrix=',tFor-tMatrix
'運算結果的差(所有元素累積和)yFor-yMatrix=',np.sum(yFor-yMatrix)