python有沒有一種快速的方法來執行一個簡單的操作,導致一個矩陣,使得給出兩個數組a和b(長度相同,但這很可能是A[i,j] = a[i] - b[j]
)不相關)?優化簡單的向量操作(python)
更確切地說,我所擁有的是二維空間中的N個點,其位置存儲在兩個數組dx和dy中,N個點的位置在tx和ty中。 我需要一個矩陣
A[i,j] = (dx[j]-tx[i])**2+(dy[j]-ty[i])**2
我想到的是做
A = np.empty([nData,nData])
for i in range(nData):
A[i] = (dx-tx[i])**2+(dy-ty[i])**2
return A
的問題是,這是太慢的唯一途徑(n數據將是大)。如果速度更快,任何符號的更改都會受到歡迎。
(順便說一句,比X * X或同等慢X ** 2?)
請出示的數據的,最小的,例如和預期的結果。 – wwii 2014-10-17 17:20:35