擅长:python、mysql、java
<p>你的问题是由于求解病态方程组时出现的数值错误造成的。在</p>
<pre><code>In [115]: np.linalg.lstsq(A.T, y)
Out[115]:
(array([ 3.99999993e-08, 3.99999985e-16]),
array([], dtype=float64),
1,
array([ 1.73205084e+08, 1.41421352e-08]))
</code></pre>
<p>注意到np.linalg.lstsq公司返回“1”,表示根据输入矩阵形成的矩阵AA.T的秩。这意味着它认为你的矩阵是秩1,因此是病态的(因为你的最小二乘法是一个2×2的方程组,它应该是秩2)。第二个接近0的奇异值证实了这一点。这就是“错误”结果的原因。你应该沿着“数值线性代数数值错误”这条线来搜索更多关于这个问题的信息。在</p>