希望更简单地将2D矩形阵列乘以1D常数向量

时间:2016-05-02 07:00:56

标签: python arrays numpy matrix-multiplication

在数组中,我的余弦为90到-90,步长为1 latcos:

lat=range(90,-91,-1)

latcos=numpy.cos(numpy.deg2rad(lat))

rect_array=numpy.zeros(181,361)

#comment: not shown here but rect_array gets assigned some interesting values.

我希望将每个列(包含181个元素)的rect_array元素按元素乘以latcos,并为381列中的每一列执行此操作。

ipython喜欢单一列的

语法
new_partial_rect_array=latcos*rect_array[0:,0]

并且喜欢这种语法来完成整个数组

for i in range(361): New_rect_array[0:,i]=latcos*rect_array[0:,i]

但是python不喜欢

New_rect_array=latcos*rect_array

ValueError:操作数无法与形状(181,)(181,361)

一起广播

必须有一种更简单的方法可以在没有for语句的情况下对整个矩形矩阵(每列)进行后续乘法,但我还不熟悉python,但还不知道该怎么做。

提前致谢

1 个答案:

答案 0 :(得分:0)

好的 - 非常简单,有点:

N

我以为我只能用一个转置来逃避,但似乎我需要它们两个。