interp1 一次元補間関数

## 呼び出し手順

              yp = interp1(x, y, xp)
              yp = interp1(x, y, xp, method)
              yp = interp1(x, y, xp, method, extrapolation)

## パラメータ

xp

  実数スカラー, ベクトルまたは行列 (またはハイパー行列)

x

  実数ベクトル

method

  (オプションの) 補間方法を定義する文字列

extrapolation

  (オプションの) 文字列, または領域 [x1,xn] の外側の xp(j)の値について yp(j) の要素を定義する実数値.

yp

  ベクトルまたは行列 (またはハイパー行列)

## 説明

`(x,y,xp)`を指定すると, この関数は xp に対応する yp の要素を x および y により定義された (デフォルトでは線形)補間により計算します.

`yp` がベクトルの場合, xp の長さは `yp` の長さに等しくなります. `yp` が行列の場合, `xp` は yp の各列の長さと同じ長さとなります. `yp` がハイパー行列の場合, `xp` の長さは`yp` の最初の次元と同じ になります.

size(y)=[C,M1,M2,M3,...,Mj] かつ size(xp)=[N1,N2,N3,...,Nk] の場合, size(yp)=[N1,N2,..,Nk,M1,M2,...Mj] となり, x の長さは size(y,1) に等しくなります.

`method` パラメータは補間の計算手法を設定します.

"linear"

  補間は線形手法により定義されます ( interpln参照)

"spline"

  補間は3次スプライン補間により定義されます ( splin , interp参照)

"nearest"

  各 xp(j), yp(j) の値は, xp(j)の最近傍にある x(i) に対応する y(i) の値を選択します.

`extrapolation` パラメータは捕外用,すなわち `xp(i)` が領域[x1,xn]内にない時 の計算手法を設定します.

"extrap"

  捕外が定義された手法により実行されます. yp=interp1(x,y,xp,method,"extrap")

実数値

  捕外用の実数値を選択できます. この場合, 区間 [x1,xn] の中にない xp(i) について yp(i) は この値とします. yi=interp1(x,y,xp,method, 0)

デフォルトの動作

  捕外は(スプライン手法の場合)定義された手法により行われます 線形または最近傍手法の場合は nan となります. yp=interp1(x,y,xp,method)

## 例

    x = linspace(0, 3, 20);
    y = x^2;
    xx = linspace(0, 3, 100);
    yy1 = interp1(x, y, xx, 'linear');
    yy2 = interp1(x, y, xx, 'spline');
    yy3 = interp1(x, y, xx, 'nearest');
    plot(xx, [yy1; yy2; yy3], x, y, '*')
    xtitle('interpolation of square function')
    legend(['linear','spline','nearest'], "in_upper_left");

x=linspace(0,3,20); y=x.^2; xx=linspace(0,3,100); yy1=interp1(x,y,xx,'linear'); yy2=interp1(x,y,xx,'spline'); yy3=interp1(x,y,xx,'nearest'); plot(xx',[yy1;yy2;yy3]',x,y,'*') xtitle('interpolation of square function') legend(['linear','spline','nearest'],a=2)

## 参照

- interp
- interpln
- splin

## 履歴

5.4.0 以前では, 入力引数の虚部は暗黙のうちに無視されていました.