関数interp1の​splineメソッド​について、補間に使用​されるデータの点数を​教えてほしいです。

32 ビュー (過去 30 日間)
tomato
tomato 2023 年 12 月 18 日
回答済み: covao 2024 年 1 月 13 日
論文にデータの算出方法を記載するため、使用している関数の詳しい処理を知りたくて質問させていただきました。
使用しているデータに欠損値がいくつかあるため、関数interp1を用いたスプライン補間を考えています。
ヘルプセンターでは「少なくとも4つの点が必要」と記載されていますが、前後により多くのデータが存在する場合、何点を用いて補間されているのでしょうか?
数学的な知識がないため、的外れな質問かもしれませんが、ご回答いただけると幸いです。

回答 (1 件)

covao
covao 2024 年 1 月 13 日
splineでは、各区間を3次の多項式を使って補間しているため、この多項式のパラメータを決定するのに少なくとも、4点が必要ということを示しています。
interp1()のドキュメントのsplineの項目には、下記の記述があります。
  • クエリ点に内挿される値は、個々の次元で隣接するグリッド点の値の 3 次内挿に基づいて決定されます。
この関数で、前後の何点を使ってパラメータを決定しているかについては、明確な記載はないようです。ドキュメントの詳細にあるように、適切な内挿法を指定しないと、下記のようなオーバーシュートが発生する場合があります。
x0 = [-30:0.1:20];
y0 = logsig(x0);
x = [-30:5:20];
y = logsig(x);
xx = [-30:1:20];
yy = interp1(x,y,xx,'spline');
plot(x0,y0,'-', x,y,'o',xx,yy,'+');

カテゴリ

Help Center および File Exchange内挿 についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!