使用分段线性插值和样条插值预测人口数用代码表示
时间: 2023-11-28 21:47:47 浏览: 76
数值分析之分段插值与样条插值
分段线性插值的 Python 代码如下:
```python
import numpy as np
# 输入数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.5, 3.6, 4.8, 6.1, 7.5])
# 插值点
xi = 2.7
# 找到 xi 在哪两个 x 值之间
lIdx = np.searchsorted(x, xi) - 1
rIdx = lIdx + 1
# 计算插值
yi = y[lIdx] + (xi - x[lIdx]) * (y[rIdx] - y[lIdx]) / (x[rIdx] - x[lIdx])
print('xi =', xi, ', yi =', yi)
```
样条插值的 Python 代码如下:
```python
from scipy.interpolate import CubicSpline
# 输入数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.5, 3.6, 4.8, 6.1, 7.5])
# 插值点
xi = 2.7
# 创建样条插值函数
cs = CubicSpline(x, y)
# 计算插值
yi = cs(xi)
print('xi =', xi, ', yi =', yi)
```
阅读全文