python 最小二乘法库_最小二乘法Python的实现

BY:Yang Liu

代码和解析:

import numpy as np ——载入numpy库,相当于增加矩阵数组容器

import scipy as sp ——载入scipy库,为科学计算算法库

import matplotlib.pyplot as plt ——载入matplotlib库,增加绘图库,若再载入Pandas库(相当于表格库),此时Python可实现MATLAB的功能

from scipy.optimize import leastsq ——从scipy中调用leastsq(最小二乘法算法)函数

Xi=np.array([7.66,2.71,8.29,7.91,5.67,2,5.98,1.5,9.8,4.7]) ——输入数据,转换成数组形式

Yi=np.array([5.33,2.88,10.41,6.1,5.31,4.26,6,1.4,10,5.3])

def func(p,x): ——定义函数func;p,x表示函数参数,此为确定最终拟合曲线的类型

k,b=p

return kx+b

def error(p,x,y): ——定义函数error,参数为p,x,y;此为偏差函数,为leastsq函数的输入值

return func(p,x)-y

p0=[1,20] ——此为函数参数的初始值,可为任意值

Para=leastsq(error,p0,args=(Xi,Yi)) ——error代表偏差函数;p0表示拟合函数的参数;第三个数据表示测得的原始数据值,为tuple元组形式,所以此处用args函数转换原始数据为元组形式

k,b=Para[0] ——least

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值