Python 最小二乘法多项式拟合曲线numpy.polyfit(),numpy.poly1d(),pylab

import numpy as np
from scipy.optimize import leastsq
import pylab as pl
 
x = np.arange(1, 17, 1)
y = np.array([4.00, 6.40, 8.00, 8.80, 9.22, 9.50, 9.70, 9.86, 10.00, 10.20, 10.32, 10.42, 10.50, 10.55, 10.58, 10.60])
 
#第一个拟合,自由度为3
z1 = np.polyfit(x, y, 3)
# 生成多项式对象
p1 = np.poly1d(z1)
print(z1)
print(p1)
 
# 第二个拟合,自由度为6
z2 = np.polyfit(x, y, 6)
# 生成多项式对象
p2 = np.poly1d(z2)print(z2)print(p2) # 绘制曲线 # 原曲线pl.plot(x, y, 'b^-', label='Origin Line')pl.plot(x, p1(x), 'gv--', label='Poly Fitting Line(deg=3)')pl.plot(x, p2(x), 'r*', label='Poly Fitting Line(deg=6)')pl.axis([0, 18, 0, 18])pl.legend()# Save figurepl.savefig('scipy02.png', dpi=96)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值