我有一堆二维点,我知道它们的值,我想通过它们拟合三次样条,以使用 MATLAB 插入一些其他数据。
我的代码如下所示:
fitobject = fit(x,y,'cubicinterp');
yy=feval(fitobject,xx)
具有以下输入:
坐标
x = [...
313 3;
313 5;
313 7;
315 3;
315 5;
317 3;
319 5];
价值观
y = [...
28.0779;
28.0186;
11.6220;
16.7640;
23.7139;
-14.7882;
-20.4626];
插值点
xx = [...
313 3;
313 4;
313 5;
313 6;
313 7;
313 8;
313 9;
314 3;
314 5;
314 7;
315 3;
315 4;
315 5;
315 6;
315 7;
316 3;
316 5;
317 3;
317 4;
317 5;
318 3;
319 5;
319 6;
319 7;
320 5];
在我的输出向量yy
中,我得到了几个NaN
值。对我来说,输入数据看起来很干净(它们都是有限值并且没有NaN
)。我不知道拟合数据时会导致feval
返回的原因。NaN
为什么即使它很糟糕,它也不能提供最佳的适合度?我的方法有错误吗?
我浏览了一下,似乎同一个问题在 mathworks 论坛上被问了很多次,但没有人给出明确的答案。
在此先感谢您的帮助。