PYTHON 最小二乘法简单作图
PYTHON 最小二乘法作图
最小二乘法原理视频见:https://open.163.com/movie/2010/11/P/U/M6V0BQC4M_M6V2AOJPU.html
- 求离散点的直线拟合
通过公式
X=A.T*B/A.T*A
解出 C,D 再做直线图
代码块
import matplotlib.pyplot as plt import numpy as np # 有4个点分别为(1,2),(2,2),(3,2),(4,3),作最优直线 A = np.array([[1, 1], [1, 2], [1, 3]]) B = np.array([[1], [2], [2]]) C = np.array([[1, 2, 3], [1, 2, 2]]) X=A[:,0] Y=A[:,1] AA=np.dot(A.T,A) AB=np.dot(A.T,B) x1 = np.linalg.solve(AA, AB) # print(x) x2=np.linspace(0,4,66) y2 = x1[1] * x2 + x1[0] plt.ylim(0, 4) plt.xlim(0, 4) plt.plot(x2,y2,'r') plt.plot(Y,B,'m',lw=0,marker='o') # plt.show() # #