【数学建模】 插值法1

概念

在这里插入图片描述
总之就是找到一条函数,经过题目中给出的所有点,然后通过这条函数预测未知点。

一维插值法

多项式插值

拉格朗日插值法
在这里插入图片描述
存在的问题 龙格现象
在这里插入图片描述
高次插值函数会在两端产生极大的波动。在数值求解微分方程时,当步长选择过大时会出现误差逐渐增大而不是减小的现象。这种现象导致了数值计算结果的不稳定性,使得我们不能够简单地通过缩小步长来提高求解精度。
2. 牛顿插值法
在这里插入图片描述
Newton 插值的优点是:每增加一个节点,插值多项式只增加一项,因而便于递推运算,而且Newton插值的计算量小于Lagrange插值。

分段插值

在这里插入图片描述

两点之前构成一条线,然后插值。
分段线性插值因为只用相邻的两个点,可能不精确,所以可以采用分段二次插值。

数学建模常用插值法

分段三次埃尔米特插值法

埃尔米特插值多项式:插值多项式要求在插值节点上函数值相等,有的实际问题还要求在节点上的导数值相等,甚至高阶导数值也相等,满足这种要求的插值多项式成为埃尔米特插值多项式。
该方法对给定数据进行分段处理,并且三次多项式被用来逼近每个段内的函数。在这里插入图片描述
代码实例

from scipy.interpolate import PchipInterpolator as PCHIP
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
mpl.use ('TkAgg')


#PCHIP stands for Piecewise Cubic Hermite Interpolating Polynomial
# x必须同等间隔
x = np.arange(0,1000,step=10)
# 随机漫步曲线
y = np.random.randn(100).cumsum()
pchip = PCHIP(x,y)
x_new = [324,424,999]
y_new = pchip(x_new)
print(y_new)
#同时执行两个plot,才能将两个图绘制到一个图上
plt.plot(x_new, y_new, 'ro')#插值点为红色圆点
plt.plot(x, y, 'b-')#原始点为蓝色线条
plt.show()

在这里插入图片描述

三次样条插值

在这里插入图片描述
代码示例

from scipy import interpolate
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
mpl.use ('TkAgg')


#PCHIP stands for Piecewise Cubic Hermite Interpolating Polynomial
# x必须同等间隔
x = np.arange(0,1000,step=10)
# 随机漫步曲线
y = np.random.randn(100).cumsum()
tck = interpolate.splrep(x,y)
x_new = [324,424,999]
y_new2 = interpolate.splev(x_new,tck)
print(y_new2)
#同时执行两个plot,才能将两个图绘制到一个图上
plt.plot(x_new, y_new2, 'ro')#插值点为红色圆点
plt.plot(x, y, 'b-')#原始点为蓝色线条
plt.show()

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值