PYTHON 最小二乘法简单作图

PYTHON 最小二乘法作图

最小二乘法原理视频见:https://open.163.com/movie/2010/11/P/U/M6V0BQC4M_M6V2AOJPU.html

  • 求离散点的直线拟合

通过公式

X=A.T*B/A.T*A

解出 C,D 再做直线图


代码块



least square method.py
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()
# #

`

PYTHON 最小二乘法简单作图