一、分段插值

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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐