Оценка UnivariateSpline Python на сложных данных

Я использовал scipy интерполировать некоторые реальные данные. Я хотел оценить сплайн на некоторых сложных данных, есть ли уловка, чтобы заставить scipy сделать это? Если нет, есть ли пакеты Python, которые предоставляют эту функциональность?

import scipy.interpolate as inter spl = inter.InterpolatedUnivariateSpline( x, y )

При попытке оценить это по сложному 1.0j ошибка приведения в _fitpack._spl_ загорается

2 ответа

Сплайн - это кусочная функция, определяемая отдельно на определенных интервалах реальной линии. Вставка сложных значений в сплайн не имеет математического смысла. Это не ограничение SciPy; значение сплайна для нереальных аргументов не определено.

Если вы хотите подогнать функцию, а затем вставить в нее сложное значение, сплайн - неподходящий инструмент для работы. Вы можете подобрать полином или любую не кусочную модель, которая определена для сложных аргументов.

У меня была та же проблема, я хотел сделать это со сложным числом. Мое решение состояло в том, чтобы разделить действительную и мнимую части независимо друг от друга:

spline_real = InterpolatedUnivariateSpline(t_in, in_.real)
spline_imag = InterpolatedUnivariateSpline(t_in, in_.imag)
out_real = spline_real(t_out)
out_imag = spline_imag(t_out)

Затем снова объедините в комплексные числа.

Другие вопросы по тегам