質問: 数値の補間方法について ある行に数値が20点入ります。 しかし、未知数の箇所が20点内にところどころで9点あり、その未知数を求めたいのです。 直線補間とスプライン補間の両方を行いたいのですが、それぞれどのような構文を記載すればよいでしょうか? 直線補間は全体が直線上に数値が並ぶのではなく、既知と既知の間をそれぞれ線形補間を行いたいです。 スプライン補間については未知数を挟む既知だけでは計算ができないと思うので、ある程度周辺の値を利用して補間を行いたいです。 また、csvファイル内の行の指定から教えていただけると幸いです。 同様に、列についても教えていただきたいです。 よろしくお願いいたします。
回答: まずは csvread で表を読み込みます a = csvread('test.csv'); x = a(:,2); y = a(:,3); interp1 で 0 ~ 20まで 20点分の内挿を行います y1が線形補間、y2がスプライン補間です x1 = linspace(0,20,20)'; y1 = interp1(x, y, x1); y2 = interp1(x, y, x1,'spline'); プロットします figure hold on plot(x,y,'o') plot(x1,y1,':.') plot(x1,y2,'--')