On 02/13/2015 11:51 AM, Francesc Alted wrote:
> Hi,
> 
> I would like to vectorize the next computation:
> 
> nx, ny, nz = 720, 180, 3
> outheight = np.arange(nz) * 3
> oro = np.arange(nx * ny).reshape((nx, ny))
> 
> def compute1(outheight, oro):
>     result = np.zeros((nx, ny, nz))
>     for ix in range(nx):
>         for iz in range(nz):
>             result[ix, :, iz] = outheight[iz] + oro[ix, :]
>     return result
> 
> I think this should be possible by using an advanced use of broadcasting
> in numpy.  Anyone willing to post a solution?


result = outheight + oro.reshape(nx, ny, 1)


_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to