値がわかっている 2D の点がたくさんあります。MATLAB を使用して他のデータを補間するために、それらに 3 次スプラインを当てはめたいと思います。
私のコードは次のようになります:
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 フォーラムで何度も尋ねられたようですが、誰も明確な答えを出していませんでした。
よろしくお願いします。