Какую часть мне нужно изменить, чтобы выполнить интерполяцию шины?

#python #numpy #matplotlib #scipy #interpolation

#питон #тупица #matplotlib #сципи #интерполяция

Вопрос:

Я изучаю Scipy и пытаюсь сделать интерполяции.

Теперь возникла проблема с интерполяцией шины, и я не могу найти, какую часть мне нужно изменить, даже читая веб-страницу scipy.интерполировать

Вот мой код:

 import numpy as np import matplotlib.pyplot as plt from scipy import interpolate  x = np.array([1, 2, 3, 4, 5]) y = np.array([1., 0.8, 0.6, 0.4, 0.2])  f_lin = interpolate.interp1d(x,y) x_new = np.arange(1, 5, 0.1) y_lin = f_lin(x_new)  tck = interpolate.splrep(x, y, s=0) y_spl = interpolate.splev(x_new, tck, der=0)  fig, ax = plt.subplots() ax.plot(x, y, "o", label="Data") ax.plot(x_new,y_new,label="Linear") ax.plot(x_new,y_spl,label="Spline") ax.legend()  

Когда я печатаю вывод этого кода, я просто получаю линейную интерполяцию без шинной интерполяции.

Комментарии:

1. Ваши значения x и y линейно зависят. Вам нужно будет изменить хотя бы одно из значений, чтобы уйти от строки.

2. Я отмечаю значимые места на графике и могу сопоставить их с точкой, линией и сплайном, если они правильно обработаны. На самом деле, он работает с графической и линейной интерполяцией.