# interp1

一次元補間関数

## 呼び出し手順

    [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'],a=2)

## 参照

- interp
- interpln
- splin