0

だからここに私がやろうとしていることがあります、

N=1000
x=np.arange(0,1,1./float(len(N)))    
XX,YY=np.meshgrid(x,x)   

l=len(XX)
grid=np.array([ ([XX[i,i],YY[j,j],0. ]) for i in xrange(l) for j in xrange(l) ])

numpy ルーチンはかなり高速ですが、グリッドを別の形式にする必要があり、これにはかなり時間がかかります (numpy 配列のインデックス付けのためだと思います)。

提案をありがとう:)

乾杯

4

2 に答える 2

3

ブロードキャストを活用する:

z = np.zeros([N, N, 3])
z[:,:,0] = x.reshape(-1,1)
z[:,:,1] = x
fast_grid = z.reshape(N*N, 3)

print np.all( grid == fast_grid ) 
True
于 2012-12-11T08:09:21.340 に答える
0

次のようなことができます:

grid = np.mgrid[:N, :N, :1]
grid = grid.T.reshape(-1, 3)
于 2012-12-12T04:05:55.773 に答える