私はこのコードを持っています:
for j in xrange (j_start, self.max_j):
for i in xrange (0, self.max_i):
new_i = round (i + ((j - j_start) * discriminant))
if new_i >= self.max_i:
continue
self.grid[new_i, j] = standard[i]
遅いネイティブPythonループを破棄して、速度を上げたいと思います。代わりにnumpyベクトル演算を使用する可能性がありますが、それらは非常に高速です。どうやってするか?
j_start, self.max_j, self.max_i, discriminant
int、int、int、float(定数)。
self.grid
2次元のnumpy配列(self.max_i x self.max_j)。
standard
1次元のnumpy配列(self.max_i)。