LinAlgError:数组的最后两个维度必须是squ

2024-05-11 08:14:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要解一组形式为x的联立方程。我使用了numpy.linalg.solve函数,输入了a和B,但得到了错误“linalgreor:数组的最后2维必须是正方形”。我该怎么解决?

这是我的代码:

A = matrix([[v1x, v2x], [v1y, v2y], [v1z, v2z]])
print A

B = [(p2x-p1x-nmag[0]), (p2y-p1y-nmag[1]), (p2z-p1z-nmag[2])]
print B

x = numpy.linalg.solve(A, B)

矩阵/向量的值在代码的前面计算出来,这很好,但是值是:

A=

(-0.56666301, -0.52472909)
(0.44034147, 0.46768087)
(0.69641397,  0.71129036)

B=

(-0.38038602567630364, -24.092279373295057, 0.0)

x的形式应该是(x1,x2,0)


Tags: 函数代码numpy错误数组matrix形式print