一、分段插值

1、三次样条插值

三(二)次样条插值就是在任意两点之间插入用三(二)次函数连接,且点的连接处的导数相同。根据过点和点处导数相同可以联立方程求解。

概念:三次样条(cubic spline)插值
代码:

import numpy as np
import scipy.interpolate as spi
import matplotlib.pyplot as plt

# 生成[-10,10]内长度为41的序列
x = np.linspace(-10, 10, 41)
y = np.sin(x ** 3) / np.cos(x ** 2)

# 观测数据点
ix3 = np.linspace(x[0], x[-1], 100)
# 三次样条插值
ipo3 = spi.splrep(x, y, k=3)  # 生成模型参数
iy3 = spi.splev(ix3, ipo3)  # 生成插值点

plt.scatter(x, y)
plt.plot(ix3, iy3, 'r')
plt.legend(['origin', 'interp'], loc='upper left')
plt.show()

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐