python多变量非线性拟合_python中的多变量(多项式)最佳拟合曲线?

这篇博客介绍了如何在Python中使用`multipolyfit`库进行多变量非线性拟合,展示了如何处理数据并绘制拟合曲线。通过导入numpy和matplotlib,利用`multipolyfit`对数据进行拟合,并用`numpy.polyval`评估拟合曲线。
摘要由CSDN通过智能技术生成

John Lyon..

26

这个问题的公认答案

提供

您只需传入x和y点的数组以及所需的拟合度(顺序)即可multipolyfit.这将返回系数,然后您可以使用numpy的polyval进行绘图.

注意:下面的代码已经过修改,可以进行多变量拟合,但是情节图像是早期非多变量答案的一部分.

import numpy

import matplotlib.pyplot as plt

import multipolyfit as mpf

data = [[1,1],[4,3],[8,3],[11,4],[10,7],[15,11],[16,12]]

x, y = zip(*data)

plt.plot(x, y, 'kx')

stacked_x = numpy.array([x,x+1,x-1])

coeffs = mpf(stacked_x, y, deg)

x2 = numpy.arange(min(x)-1, max(x)+1, .01) #use more points for a smoother plot

y2 = numpy.polyval(coeffs, x2) #Evaluates the polynomial for each x2 value

plt.plot(x2, y2, label="deg=3")

注意:这是早期答案的一部分,如果您没有多变量数据,它仍然是相关的.而不是coeffs = mpf(...,使用coeffs = numpy.polyfit(x,y,3)

对于非多变量数据集,最简单的方法是使用numpy polyfit:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值