neo*_*ern 6 python interpolation scipy
我正在尝试在SciPy interp1d函数的边界设置行为,根据文档应该是可能的:
Behavior at the boundary can be specified at instantiation time.
Run Code Online (Sandbox Code Playgroud)
但我还没有找到任何进一步的信息. 该interp1d文件没有提到这一切.
那么:我该如何定义行为呢?
好奇心:它使用的默认边界行为是什么?
编辑:实例(假设之间的数据点x=0和x=n和三次插值)
我知道至少有三种类型的边界行为,我希望能够指定:
flat:我可以要求函数变平,换句话说,推导为零.
f'(0) = f'(n) = 0
f''(0) = f''(n) = 0
Run Code Online (Sandbox Code Playgroud)
循环:在某些行之间
f'(0) = f'(n)
f''(0) = f''(n)
Run Code Online (Sandbox Code Playgroud)
因此,开始和结束具有相同的"斜率".
手册:或者我可以手动提供衍生品的价值......
f'(0) = ...
f'(n) = ...
f''(0) = ...
f''(n) = ...
Run Code Online (Sandbox Code Playgroud)
虽然可能不是同时针对所有四个人.
我认为文档中的这句话措辞很糟糕,请忽略它。
目前,该interp1d函数不允许指定边界行为,
interp1d样条构造函数,因此同样无法选择边界行为。scipy.interpolate.splmakekind='smoothest'另一方面,您可能想看看scipy.interpolate.PiecewisePolynomial 它用分段多项式表示曲线,并且能够指定导数(尽管对于所有结而不仅仅是在边界处)。
| 归档时间: |
|
| 查看次数: |
2836 次 |
| 最近记录: |