我有兩個向量,v1
和v2
。我想從每個v1
的值中減去v2
的每個值,並將結果存儲在另一個向量中。我也想要使用非常大的矢量(例如1e6大小),所以我認爲我應該使用numpy來提高性能。減去兩個數組中的所有值對
到目前爲止我有:
import numpy
v1 = numpy.array(numpy.random.uniform(-1, 1, size=1e2))
v2 = numpy.array(numpy.random.uniform(-1, 1, size=1e2))
vdiff = []
for value in v1:
vdiff.extend([value - v2])
這將創建100個條目,每個條目是大小100的數組,我不知道這是要做到這一點,雖然最有效的方式列表。 我想用最小的對象大小(記憶方式)非常快地計算1e4期望值。
你想要一個具有〜10^6 * 10^6 = 10^12值的結果嗎?這是行不通的。即使你每個值只使用一個字節,你也需要一個TB的內存。你可以分解它,但這仍然是很多計算。你爲什麼想要這個巨大的差異矩陣?也許有一條更好的路徑來實現你的目標。 – DSM 2014-09-27 16:18:37
我想計算兩個向量的差值,這兩個向量的值具有給定的概率密度函數。問題是其中一個矢量的值低於零,發生4e-6的概率,所以我需要生成1e6個樣本來捕捉它們。但讓我說我「只」需要每個矢量1e4的值,我可以做到嗎? – jpcgandre 2014-09-27 16:22:04