Python numpy.linalg.lstsqr错误
我有两个矩阵,模型和观测矩阵。模型_con为15x1096,并填充了从0到大约5的浮点值。观察到的尺寸为1096,浮动值在大致相同的范围内。当我运行此代码时:Python numpy.linalg.lstsqr错误,python,numpy,Python,Numpy,我有两个矩阵,模型和观测矩阵。模型_con为15x1096,并填充了从0到大约5的浮点值。观察到的尺寸为1096,浮动值在大致相同的范围内。当我运行此代码时: for j in range(1000): N = [] for i in range(800): N.append(randint(0,1095)) Cs = model_con[:,N] Os = observed_con[N] k = np.linalg.lstsq(Cs,O
for j in range(1000):
N = []
for i in range(800):
N.append(randint(0,1095))
Cs = model_con[:,N]
Os = observed_con[N]
k = np.linalg.lstsq(Cs,Os)[0]
我收到了错误:
numpy.linalg.linalg.LinAlgError: Incompatible dimensions
正如您所写的,Cs有形状(15800),Os有形状(800,)。但是lstsq要求Os是形状(15),因为您试图找到Cs x=Os的最小二乘解(最小化| | Cs x-Os | ^2除以x)。如果你把800改为15,你会发现你不会得到任何错误,但我不知道你到底想解决什么问题 在文档a中,在本例中,Cs具有形状(M,N)和b,或者Os具有形状(M,)
假警报,我在创建矩阵时发现一个错误。对不起大家