Моя проблема довольно проста, однако я не могу найти быстрое решение.
Я хотел бы интерполировать массив y_model
, который определен как x_model
координаты
x_model = np. array([ 400., 425., 450., 475., 500., 525., 550., 575., 600.,
625., 650., 675., 700.])
y_model = np.array([ 3.30395705e-03, 3.07586379e-03, 2.90207925e-03,
2.81385536e-03, 2.78152394e-03, 2.14072505e-03,
1.64075861e-03, 9.81255709e-04, 3.61950352e-04,
2.15834081e-04, 1.35457654e-04, 8.22104550e-05,
5.84126935e-05])
до нового, x_data
координаты:
x_data = np.array([412., 443., 490., 510., 555., 670.])
Итак, я должен получить простой одномерный массив y-data
с 6 элементами.
Я думал о чем-то подобном, каково ваше мнение?
from scipy import interpolate
f = interpolate.interp1d(x_model, y_model, kind = 'linear')
y_data = f(x_data)
Изначально было найдено решение, основанное на поднятой проблеме, ограничивающее вопрос линейной интерполяцией.
Однако в ходе обсуждения некоторые авторы справедливо отметили, что для такой задачи линейное приближение будет недостаточным.
Должно ли подгонка нелинейной кривой быть более подходящей?