使用 CubicSpline 函数时如何绘制图形
How to graph when using the CubicSpline function
我有两个数组,x
和 y
。我想为数组创建一个自然的三次样条。
我不知道如何准确绘制样条曲线图。
import numpy as np
from scipy.interpolate import CubicSpline
# Calculate 5 natural cubic spline polynomials for 6 points.
# (x,y) = (0,12) (1,14) (2,22) (3,39) (4,58) (5,77)
x = np.array([0, 1, 2, 3, 4, 5 ])
y = np.array([12, 14, 22, 39, 58, 77])
# Calculate natural cubic spline polynomials.
cs = CubicSpline(x, y, bc_type='natural')
您可以使用 matplotlib 绘制在您感兴趣的区域上评估的三次样条曲线
import matplotlib.pyplot as plt
X = np.linspace(-1, 7, 100)
Y = cs(X)
plt.plot(X, Y)
plt.show()
您需要创建一组评估新函数的点。
import matplotlib.pyplot as plt
# x's at which to evaluate.
xs = np.arange(-1, 10, 0.1)
# Plot data with spline.
plt.plot(x, y, 'o')
plt.plot(xs, cs(xs))
这导致:
我有两个数组,x
和 y
。我想为数组创建一个自然的三次样条。
我不知道如何准确绘制样条曲线图。
import numpy as np
from scipy.interpolate import CubicSpline
# Calculate 5 natural cubic spline polynomials for 6 points.
# (x,y) = (0,12) (1,14) (2,22) (3,39) (4,58) (5,77)
x = np.array([0, 1, 2, 3, 4, 5 ])
y = np.array([12, 14, 22, 39, 58, 77])
# Calculate natural cubic spline polynomials.
cs = CubicSpline(x, y, bc_type='natural')
您可以使用 matplotlib 绘制在您感兴趣的区域上评估的三次样条曲线
import matplotlib.pyplot as plt
X = np.linspace(-1, 7, 100)
Y = cs(X)
plt.plot(X, Y)
plt.show()
您需要创建一组评估新函数的点。
import matplotlib.pyplot as plt
# x's at which to evaluate.
xs = np.arange(-1, 10, 0.1)
# Plot data with spline.
plt.plot(x, y, 'o')
plt.plot(xs, cs(xs))
这导致: