如何仅在一端定义斜率的样条插值?

时间:2019-04-19 17:58:54

标签: matlab interpolation spline

我有一些要在Matlab中使用三次样条插值的数据。我的数据是单调增加的,但是默认样条曲线结果的下降曲线很大,跌落到零以下。

我可以看到MatLab允许我以规定的斜率夹紧端部,但在两端都需要有斜率。有没有办法只用零斜率夹住第一个点,而使端点斜率不固定?我在网上找到的所有答案似乎都需要两端固定。

每组数据只有三个点(一个在0,然后另一个在x = 2,另一个在x = 3),它们应该拟合近似三次曲线。我们希望使用结果曲线外推x = 1、4、5、6处的点,因此我们不想对样条线施加任意的最终斜率,这显然会使我们的外推无效。

目前仅使用样条函数: YXq = interp1(s.amps, s.force, Xq, 'spline');

我可以这样钳住两端,但是我只想设置起始斜率: YXq = interp1(s.amps, [0; s.force; NO_END_SLOPE], Xq, 'spline');

0 个答案:

没有答案