Scipy сплайн-интерполяция вне узловPython

Программы на Python
Ответить
Гость
 Scipy сплайн-интерполяция вне узлов

Сообщение Гость »


Я помещаю 2D-точки на 1D-ось, используя scipy.interpolate.bisplrep. В целом это работает лучше, чем полиномиальная интерполяция, но за пределами точек, используемых для аппроксимации, она дает ограниченные значения. Я не могу найти что-то вроде fill_value="extrapolate", которое можно было бы использовать с interp1d.

Поскольку сплайны представляют собой кусочные полиномы, я подумал, что можно использовать коэффициенты ближайшего полинома, но не знаю, как это сделать.
spline = interpolate.bisplrep(x, y, z, kx=2, ky=2) xy = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 2], [0, 2], [2, 0], [2, 1] , [0,1, 0]] x, y = кортеж(список(zip(*xy))) z = [0, 1, 1, 1,1, 3, 2, 2, 3, 0,1] print(interpolate.bisplev([0], [0], spline)) # близко к 0, как и ожидалось print(interpolate.bisplev([1], [1], spline)) # 1.1 как и ожидалось print(interpolate.bisplev([2], [2], spline)) # 3, как и ожидалось print(interpolate.bisplev([3], [3], spline)) # 3, но должно возвращать гораздо больше
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»