数学建模--非多项式拟合法的Python实现

这篇具有很好参考价值的文章主要介绍了数学建模--非多项式拟合法的Python实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

  1.算法异同区别

  2.算法核心步骤

  3.算法核心代码

  4.算法效果展示


1.算法异同区别

#*************************************************************************************************************#
方法区别探究
1.对于多项式拟合你需要大致知道这些点的分布,有的时候点比较多就很难进行进一步的联想
2.如果我们采用非多项式拟合的话,我们可以采用最小二乘法的关系来进行进一步的逼近和拟合,最终获得比较合适 
  的函数的系数即可
#*************************************************************************************************************#

  2.算法核心步骤

#继续研究非多项式拟合方法,我们采用的是scipy中的curve_fit函数来来进行拟合
#curve_fit的函数用法
#curve_fit(fun,x,y)
#其中fun是需要拟合而成的函数模板,x和y分别是拟合数据
#比如给出的点呈现于指数函数的变化方式,所以我们就设定指数函数

#具体的算法步骤如下所示:
#1.指数拟合的函数设模板
#2.导入需要拟合的数据
#3.利用curve_fit进行多项式的拟合的
#4.计算拟合函数的y值
#5.进行可视化绘图比较

  3.算法核心代码

#*************************************************************************************************************#
#方法区别探究
#1.对于多项式拟合你需要大致知道这些点的分布,有的时候点比较多就很难进行进一步的联想
#2.如果我们采用非多项式拟合的话,我们可以采用最小二乘法的关系来进行进一步的逼近和拟合,最终获得比较合适的函数的系数即可
#继续研究非多项式拟合方法,我们采用的是scipy中的curve_fit函数来来进行拟合
#curve_fit的函数用法
#curve_fit(fun,x,y)
#其中fun是需要拟合而成的函数模板,x和y分别是拟合数据
#比如给出的点呈现于指数函数的变化方式,所以我们就设定一下函数
#*************************************************************************************************************#

#**********************************************#
#首先将需要的库和函数进行导入
import sys
import os
import numpy as np
import pylab as plb
import matplotlib as plt
from scipy.optimize import curve_fit
#**********************************************#

#**********************************************#
#curve_fit的函数用法
#curve_fit(fun,x,y)
#其中fun是需要拟合而成的函数模板,x和y分别是拟合数据
#**********************************************#

#*************************************************************************************************************#
#1.指数拟合的函数设模板
def fited_fun(x,a,b,c):
    return np.power(a,x)*b+c
#2.导入需要拟合的数据
x = np.arange(1, 31, 1)
y = np.array([20, 23, 26, 29, 32, 35, 38, 45, 53, 62, 73, 86, 101, 118, 138, 161, 188, 220, 
                257, 300, 350, 409, 478, 558, 651, 760, 887, 1035, 1208, 1410])
#3.利用curve_fit进行多项式的拟合的
p_xishu,p1=curve_fit(fited_fun,x,y)#p_xishu表示拟合返回的list数组中a,b,c的值

#4.计算拟合函数的y值
y_new=[fited_fun(i,p_xishu[0],p_xishu[1],p_xishu[2])for i in x]

#5.进行可视化绘图比较
ax0=plb.plot(x,y,'o--',label='OLD VALUES')
ax1=plb.plot(x,y,'*--',label='FITED VALUES')
plb.legend(loc=3, borderaxespad=0., bbox_to_anchor=(0, 0.875))
plb.title('Non-Polynomial Fitting Curve',color='r')
plb.xlabel('x value range',color='r')
plb.ylabel('y value range',color='r')
plb.savefig('C:/Users/Zeng Zhong Yan/Desktop/Non-Polynomial Fitting Curve.png', dpi=200, bbox_inches='tight')
plb.show()
#*************************************************************************************************************#

  4.算法效果展示

数学建模--非多项式拟合法的Python实现,数学建模,数学建模,python文章来源地址https://www.toymoban.com/news/detail-698252.html

到了这里,关于数学建模--非多项式拟合法的Python实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pytorch 欠拟合和过拟合 多项式回归

        训练误差和验证误差都有,还可能比较严重, 但它们之间仅有差距不大。 这个时候模型不能降低训练的误差,有可能是我们设计的模型简单了,表达能力不足, 捕获试图学习的模式比较难。由于我们的训练和验证误差之间的泛化误差很小, 这个时候我们认为可以用一

    2024年02月16日
    浏览(41)
  • Python做曲线拟合(一元多项式拟合及任意函数拟合)

    目录 1. 一元多项式拟合 使用方法 np.polyfit(x, y, deg) 2. 任意函数拟合 使用 curve_fit() 方法 实例: (1)初始化 x 和 y 数据集 (2)建立自定义函数 (3)使用自定义的函数生成拟合函数绘图  polyfig 使用的是最小二乘法,用于拟合一元多项式函数。 参数说明: x 就是x坐标,

    2024年02月02日
    浏览(53)
  • 【Matlab】最小二乘法拟合多项式

    在最近的电机项目中,有遇到有传感器数据并不线性的问题,然后想要用最小二乘法做个曲线拟合,反过来去校准不线性的传感器的数据,因此记录一下使用最小二乘法来拟合多项式的曲线的步骤。本篇从最小二乘法的原始公式入手编写M文件,目的是方便使用单片机实现,或

    2023年04月22日
    浏览(45)
  • MATLAB polyfit函数——多项式拟合

        此函数用一个n次多项式来拟合一组数据点(x,y),并且将多项式系数以数组p的形式输出,p中的系数按降幂排列,数组长度为 n+1。     如果要将拟合好的多项式系数绘制出来,可以使用polyval函数:     此函数的作用是对给定的x1的值,通过多项式系数数组p计算对应的y1值

    2024年02月16日
    浏览(47)
  • 自动驾驶规划 - 5次多项式拟合

    自动驾驶运动规划中会用到各种曲线,主要用于生成车辆的轨迹,常见的轨迹生成算法, 如贝塞尔曲线,样条曲线,以及apollo EM Planner的五次多项式曲线 ,城市场景中使用的是分段多项式曲线,在 EM Planner和Lattice Planner 中思路是,都是先通过动态规划生成点,再用5次多项式

    2024年02月03日
    浏览(73)
  • matlab RANSAC拟合多项式曲线

    本文由CSDN点云侠原创,原文链接。爬虫网站自重,把自己当个人。爬些不完整的误导别人有意思吗????

    2024年02月12日
    浏览(49)
  • Matlab 线性拟合、一维、多维度非线性拟合、多项式拟合

      线性拟合 我随便设定一个函数然后通过解方程计算出对应的系数 假设我的函数原型是 y=a*sin(0.1*x.^2+x)+b* squre(x+1)+c*x+d  拟合系数:   利用matlab实现非线性拟合(三维、高维、参数方程)_matlab多元非线性拟合_hyhhyh21的博客-CSDN博客 简单的一维的拟合: 思路: 将非线性-》线

    2024年02月12日
    浏览(48)
  • MATLAB 利用RANSAC对多项式进行点拟合 (32)

    通过对给定的一小组点进行抽样并生成多项式拟合,得到多项式系数 P。返回 maxRange 中具有最多 inlier 值的拟合。如果找不到匹配,则返回空的 P。该函数使用 M 估计量样本一致性(MSAC)算法,一种随机样本一致性(RANSAC)算法的变体来拟合数据。 主要使用的函数和内部的参数含义

    2024年02月15日
    浏览(55)
  • numpy 多项式函数回归与插值拟合模型;ARIMA时间序列模型拟合

    参考: https://blog.csdn.net/mao_hui_fei/article/details/103821601 1、多项式函数回归拟合 x ^3+ x ^2… 2、多项式函数插值拟合 对于插值函数 interp1d(phone_time, phone_x, kind=‘cubic’),无法直接获取多项式的参数与具体函数表达式。这是因为该函数使用样条插值方法,它的内部实现是基于一组数

    2024年02月16日
    浏览(76)
  • 使用R语言进行多项式回归、非线性回归模型曲线拟合

    对于线性关系,我们可以进行简单的线性回归。对于其他关系,我们可以尝试拟合一条曲线。 相关视频 曲线拟合是构建一条曲线或数学函数的过程,它对一系列数据点具有最佳的拟合效果。 使用示例数据集 看起来我们可以拟合一条曲线。 我们可以看到每条曲线的拟合程度

    2024年02月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包