为了账号安全,请及时绑定邮箱和手机立即绑定

SciPy.interpolate.interp1d中哪些样条用于样条线?

SciPy.interpolate.interp1d中哪些样条用于样条线?

翻阅古今 2021-03-30 04:31:08
我试图找出样条插值法如何scipy.interpolate.interp1d确定拟合/平滑函数的导数。从文档中可以理解,interp1d如果将int(quadratic或cubic)传递给kind关键字,则适合样条曲线。但是,如果我不提供任何派生信息,它如何确定派生是什么?我试图遵循源代码中的函数调用,但这只能使我进入隐秘的spleval函数,该函数似乎只是调用FITPACK。而且我不确定如何从他们的网站中找到关于FITPACK的信息...
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

没有明确规定结点处的样条导数,它们由连续性/平滑度条件确定。我将以立方情况为例。您给出n个x值和n个y值。三次样条具有4 *(n-1)个系数,在给定x值之间的(n-1)个区间中的每个区间上有4个。这些系数是从以下条件确定的:

  • 样条线在每个内部结处必须连续:这是(n-2)个方程,因为存在(n-2)个内部结。我们希望一个结的左右两部分在该结处具有相同的值。

  • 样条曲线的一阶导数在每个内部结处必须连续:这是(n-2)个方程。

  • 样条曲线的二阶导数在每个内部结点处必须连续:这是(n-2)个方程。

  • 样条曲线必须与每个给定的y值匹配:这是n个方程式。

到目前为止,总数为4 * n-4个未知数的4 * n-6个方程。需要两个附加方程式;最受欢迎的选择是要求三阶导数在最左边和最右边的内部结点处连续(这称为“非结”条件)。现在我们有了一个大小为4 * n-4的线性系统,可以求解这些系数。


不应将以上内容与Hermite插值法混淆,在Hermite插值法中,必须规定导数以及函数本身的值。这是一个不太常见的任务,据我所知,SciPy没有内置工具。


查看完整回答
反对 回复 2021-04-05
  • 1 回答
  • 0 关注
  • 343 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号