In [251]: A = np.arange(1, 10).reshape(3, 3)
In [252]: b = np.array([0, -1, 9])
In [253]: x1 = np.linalg.pinv(A) @ b
In [254]: x1
Out[254]: array([ 2.91666667, 0.5 , -1.91666667])
In [255]: x2, res, rnk, s = np.linalg.lstsq(A, b, rcond=None)
In [256]: x2
Out[256]: array([ 2.91666667, 0.5 , -1.91666667])
1条答案
按热度按时间ahy6op9u1#
您可以使用
numpy.linalg.lstsq
或scipy.linalg.lstsq
。例如,在下面的示例中,使用
numpy.linalg.pinv
计算x1
,使用numpy.linalg.lstsq
计算x2
。