Python:SciPy.interpolate PiecewisePolynomial

时间:2016-02-28 18:50:00

标签: python scipy

import numpy as np
from scipy.interpolate import PiecewisePolynomial

xi = np.array([1,10])
yi = np.array([10,1])

p = PiecewisePolynomial(xi,yi)

不会产生两点的线性插值,但

ZeroDivisionError: integer division or modulo by zero

那里有什么问题?

1 个答案:

答案 0 :(得分:1)

将您的yi替换为

yi = np.array([[10], [1]])

PiecewisePolynomial要求y数组为array-likelist-of-array结构。 y的每个元素都可以是x及其后续派生词的函数值。以上更改为y会创建正确的线性插值

p = PiecewisePolynomial(xi,yi)
p.__call__([5.])
>> array([6.])
p.__call__([2.])
>> array([9.])