美赛python学习d6--插值与拟合

插值

插值的目的

给定一系列数据点,但对于x的其他值对应的函数值是未知的,希望通过有限个数据点得到函数的解析表达式
找到的近似函数需要简单便于研究

利用python实现插值问题

Scipy.interpolate模块有一维插值函数interp1d,二维插值函数interp2d,多维插值函数interpn,interpnd
interp1d的基本调用格式为
interp1d(x,y,kind=“linear”),返回一个插值函数
kind的取值是字符串,指明插值方法

拟合

最小二乘拟合:
已知一组二维数据,即平面上的n个点,要寻求一个函数使得在某种准则下与所有数据点最为接近,即曲线拟合得最好
最小二乘原则:拟合函数的残差平方和最小

拟合函数的选择

数据拟合时,首要也是最关键的一步就是选取恰当的拟合函数
选取拟合函数的方法是,先做出数据的散点图,从直观上判断应该选用什么样的拟合函数

数据拟合的python实现

  1. numpy库中的多项式拟合函数polyfit
    美赛python学习d6--插值与拟合_第1张图片
    美赛python学习d6--插值与拟合_第2张图片

  2. scipy.optimize模块中的函数curve_fit
    美赛python学习d6--插值与拟合_第3张图片
    美赛python学习d6--插值与拟合_第4张图片

插值和拟合的区别

插值是根据已知离散点构造一个过所有数据点的函数,再根据此函数计算插值区间内其他点的函数值
拟合就是根据已知离散点的分布形态先假设一个带有未知参数的函数,如多项式函数,双曲线等,再依据残差平方和最小的原理确定未知参数,从而求出拟合函数

你可能感兴趣的:(数模美赛,python,美国大学生数学建模竞赛)