我正在尝试将两个矩阵相乘,但是(4,1)矩阵被python读取为(4,1,1)。如何确保python正确读取我的矩阵并能够将它们相乘?我希望能够从列表中获取数字,并将其放入矩阵中,然后再与另一个相乘。
这是作业的一部分。我已经尝试了numpys .dot和.matmul函数,但是都没有用。而且我不认为我会遗漏任何括号。即使我将list-indexes替换为实际数字,它也不起作用。
def Md(a,b,c,d,e,f):
Md = np.array([[a,b,0,0],[c,d,e,f]])
return Md
pl = [np.array([[2],[3]])]
u = np.array([[pl[0][0]],[pl[0][1]],[pl[0][0]**2],[pl[0][1]**2]])
print(np.matmul(Md(1,-1,1,0,0.5,0.5),u))
我希望此乘法的输出为[[-1],[8.5]]
,但我却收到此错误消息:
ValueError: shapes (2,4) and (4,1,1) not aligned: 4 (dim 1) != 1 (dim 1)
答案 0 :(得分:0)
u = np.array([[pl[0][0]],[pl[0][1]],[pl[0][0]**2],[pl[0][1]**2]]).reshape(4,1)