John | 曲

Reflection in Transition

贝贝60秒:发现算法有错误

曲政 / 2019-10-01


今天是贝贝报告给你的第 215 天
2019-10-01 星期二

今天用 B 样条算例题,发现奇怪的结果,与例题不一致。这就是做例题的好处之一,有答案可比对。

答案不一致, 那就找原因咯。我的解后三个系数不零,图形在三个内部节点上不连续。我画出用于构建样条的九个基础函数,发现最中间那个竟然有跳跃。

问题出在不能处理两个边界上的重复节点吗?我换用 scipy.interpolation.Bspline 中的数值计算样条工具,可以得到连续基础函数。这说明我的题目的算法法没问题,问题出在构建基础样条的算法。

好在我用的是开源工具,能看到算法的所有原代码。通读下来,我发现有很多不懂的地方,需要深入了解。

我认为这是一个 bug,我打算研究一下。不过,上手之前,我要先报告给开发者们。

img