python最小二乘法拟合一直线_python_numpy最小二乘法的曲线拟合

  • Post author:
  • Post category:python


在了解了最小二乘法的基本原理之后python_numpy实用的最小二乘法理解,就可以用最小二乘法做曲线拟合了

1.直线拟合

354b1f2a5fd0?utm_campaign=haruki

直线拟合

已知图中拟合数据的坐标,对图中的拟合数据进行直线拟合。

依旧使用最小二乘法求解

Ax=b——————1

无解下的最优解。已知点的个数为n,所求直线的方程为y1=ax1+b,A由方程右边的a,b的系数构成构成(nx2)的矩阵,每行为(x1,1),b由已知点的y1坐标构成矩阵(nx1)。方程1中的x为要求的列向量[a,b]。

A.TAx’=A.Tb

x’=(A.TA)^(-1)A.TC

求得x‘后,画出拟合曲线的yy=Ax’

import numpy as np

import matplotlib.pyplot as plt

#x的个数决定了样本量

x = np.arange(-1,1,0.02)

#y为理想函数

y = 2*np.sin(x*2.3)+0.5*x**3

#y1为离散的拟合数据

y1 = y+0.5*(np.random.rand(len(x))-0.5)

##################################

#主要程序

one=np.ones((len(x),1))#len(x)得到数据



版权声明:本文为weixin_34088048原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。