我有一个功能,有时在一个点上是不可微分的。当我现在使用样条(Bezierspline in degrafa)进行插值时,此时的插值不能按预期工作(此时我的函数有一个扭结)。现在,当使用样条插值时,它会围绕这一点绘制某种循环。我认为这是因为样条需要函数的导数,在这一点上不是唯一的。样条函数用于非微分函数?
是吗?你会建议我在这种情况下做什么?
在此先感谢
塞巴斯蒂安
我有一个功能,有时在一个点上是不可微分的。当我现在使用样条(Bezierspline in degrafa)进行插值时,此时的插值不能按预期工作(此时我的函数有一个扭结)。现在,当使用样条插值时,它会围绕这一点绘制某种循环。我认为这是因为样条需要函数的导数,在这一点上不是唯一的。样条函数用于非微分函数?
是吗?你会建议我在这种情况下做什么?
在此先感谢
塞巴斯蒂安
你不能计算“扭结”的梯度(正如你雄辩地说的那样)。如果你真的需要这样一个点(x)的梯度,我只是平均在(x-d)和(x + d)的梯度,其中d是一个足够小的三角洲。这与您可能获得的任何其他单一答案在数学上有效。
例如,功能:
f(x) = |x|
会产生:
\ | /
\ |/
\ |/
\|/
----+----
那里是在原点(0,0)没有梯度。然而,对-0.0001(梯度= -1)和+ 0.0001(梯度= +1)的梯度进行平均会得到零梯度(扁平线)。
对于其他在(x-d)和(x + d)处产生非对称梯度的方程,这应该给出一个半正确的答案。
我会做什么,因为它在MIT的许可下,是修改源以允许Bezierspline选项使用+/- delta方法计算非连续点处的梯度。如果您认为这是一个值得的补充,甚至可能会将源代码更改推回给开发人员。
这听起来很正确的。自从我看了样条曲线之后已经有一段时间了,但我很确定如果函数不连续,样条也应该在相同点上不连续。虽然我已经看到在这样的点上给出近似曲线的插值...如果没有其他人提出更好的答案,我会检查我的文本书籍。
但是一个循环是一个很好的尝试。荣誉您的功能。
对不起,我不知道这个好词。这肯定是可能的,但首先我必须找到这些点{x}。也许我应该切换到线性插值,因为我的功能非常流畅。 – 2009-06-16 07:41:34