1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1 - MathWorks 日本 (2025)

Table of Contents
構文 説明 粗くサンプリングされた正弦関数の内挿 点を指定しない内挿 複素数の値の内挿 日付と時刻の内挿 2 つの異なる方法を使用した外挿 x の領域外のすべてのクエリに対する定数値の指定 複数データ セットを一度に内挿 入力引数 x — サンプル点 ベクトル v — サンプル値 ベクトル | 行列 | 配列 xq — クエリ点 スカラー | ベクトル | 行列 | 配列 method — 内挿法 'linear' (既定値) | 'nearest' | 'next' | 'previous' | 'pchip' | 'cubic' | 'v5cubic' | 'makima' | 'spline' extrapolation — 外挿法 'extrap' | スカラー値 出力引数 vq — 内挿値 スカラー | ベクトル | 行列 | 配列 pp — 区分的多項式 構造体 詳細 Akima とスプライン内挿 参照 拡張機能 C/C++ コード生成MATLAB® Coder™ を使用して C および C++ コードを生成します。 GPU コード生成 GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。 スレッドベースの環境 MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。 GPU 配列Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。 分散配列Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。 バージョン履歴 R2020b: interp1 の 'cubic' メソッドが 3 次畳み込みを実行 参考 MATLAB コマンド Americas Europe Asia Pacific FAQs

1 次データ内挿 (テーブル ルックアップ)

ページ内をすべて折りたたむ

構文

vq = interp1(x,v,xq)

vq = interp1(x,v,xq,method)

vq = interp1(x,v,xq,method,extrapolation)

vq = interp1(v,xq)

vq = interp1(v,xq,method)

vq = interp1(v,xq,method,extrapolation)

pp = interp1(x,v,method,'pp')

説明

vq = interp1(x,v,xq) は、線形内挿を使用して、特定のクエリ点における 1 次元関数の内挿値を返します。ベクトル x には、サンプル点が含まれていて、v には対応する値 v (x) が含まれています。ベクトル xq は、クエリ点の座標を含んでいます。

同じ点の座標でサンプリングされたデータ セットが複数存在する場合、v を配列として渡すことができます。配列 v の各列には、1 次元サンプル値の複数のセットが含まれています。

vq = interp1(x,v,xq,method) は代替内挿法として、'linear''nearest''next''previous''pchip''cubic''v5cubic''makima'、または 'spline' を指定します。既定の手法は、'linear' です。

vq = interp1(x,v,xq,method,extrapolation) は、x の領域の外側に配置されている点を評価する方法を指定します。外挿に method アルゴリズムを使用する場合は、extrapolation'extrap' に設定します。別の方法として、スカラー値を指定することができますが、その場合、interp1 は、x 領域外のすべての点にこの値を返します。

vq = interp1(v,xq) は内挿値を返し、サンプル点の座標の既定セットを想定します。既定の点は、1 から n までの一連の番号です。ここで、nv の形状によって異なります。

  • v がベクトルの場合、既定の点は 1:length(v) です。

  • v が配列の場合、既定の点は 1:size(v,1) です。

この構文は、点の間の絶対距離を考慮しない場合に使用します。

vq = interp1(v,xq,method) は、代替内挿法のいずれかを指定し、既定のサンプル点を使用します。

vq = interp1(v,xq,method,extrapolation) は外挿法を指定し、既定のサンプル点を使用します。

pp = interp1(x,v,method,'pp')method アルゴリズムを使用して、v (x) の区分的多項式を返します。

メモ

この構文は推奨されません。代わりに griddedInterpolant を使用してください。

すべて折りたたむ

粗くサンプリングされた正弦関数の内挿

ライブ スクリプトを開く

サンプル点 x と、対応するサンプル値 v を定義します。

x = 0:pi/4:2*pi; v = sin(x);

x を含む範囲内でより細かくサンプリングを行うためのクエリ点を定義します。

xq = 0:pi/16:2*pi;

クエリ点に関数を内挿し、結果をプロットします。

figurevq1 = interp1(x,v,xq);plot(x,v,'o',xq,vq1,':.');xlim([0 2*pi]);title('(Default) Linear Interpolation');

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (1)

'spline' メソッドを使用して、同じ点で v を評価します。

figurevq2 = interp1(x,v,xq,'spline');plot(x,v,'o',xq,vq2,':.');xlim([0 2*pi]);title('Spline Interpolation');

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (2)

点を指定しない内挿

ライブ スクリプトを開く

一連の関数値を定義します。

v = [0 1.41 2 1.41 0 -1.41 -2 -1.41 0];

既定の点 1:9 の間に位置する、一連のクエリ点を定義します。この場合、v9 の値を含むため、既定の点は 1:9 です。

xqv を評価します。

vq = interp1(v,xq);

結果をプロットします。

figureplot((1:9),v,'o',xq,vq,'*');legend('v','vq');

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (3)

複素数の値の内挿

ライブ スクリプトを開く

一連のサンプル点を定義します。

x = 1:10;

サンプル点における関数 v(x)=5x+x2i の値を定義します。

v = (5*x)+(x.^2*1i);

x を含む範囲内でより細かくサンプリングを行うためのクエリ点を定義します。

xq = 1:0.25:10;

クエリ点で v を内挿します。

vq = interp1(x,v,xq);

結果の実数部を赤でプロットし、虚数部を青でプロットします。

figureplot(x,real(v),'*r',xq,real(vq),'-r');hold onplot(x,imag(v),'*b',xq,imag(vq),'-b');

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (4)

日付と時刻の内挿

ライブ スクリプトを開く

タイムスタンプ付きデータ点を内挿します。

4 時間ごとに測定する温度測定値を含むデータ セットを考えてみましょう。1 日分のデータに相当する table を作成し、データをプロットします。

x = (datetime(2016,1,1):hours(4):datetime(2016,1,2))';x.Format = 'MMM dd, HH:mm';T = [31 25 24 41 43 33 31]';WeatherData = table(x,T,'VariableNames',{'Time','Temperature'})
WeatherData=7×2 table Time Temperature _____________ ___________ Jan 01, 00:00 31 Jan 01, 04:00 25 Jan 01, 08:00 24 Jan 01, 12:00 41 Jan 01, 16:00 43 Jan 01, 20:00 33 Jan 02, 00:00 31 
plot(WeatherData.Time, WeatherData.Temperature, 'o')

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (5)

データ セットを内挿して、この日の 1 分ごとの温度測定値を予測します。データは周期的なので、'spline' 内挿法を使用できます。

xq = (datetime(2016,1,1):minutes(1):datetime(2016,1,2))';V = interp1(WeatherData.Time, WeatherData.Temperature, xq, 'spline');

内挿点をプロットします。

hold onplot(xq,V,'r')

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (6)

2 つの異なる方法を使用した外挿

ライブ スクリプトを開く

サンプル点 x と、対応するサンプル値 v を定義します。

x = [1 2 3 4 5];v = [12 16 31 10 6];

x の領域を越えるクエリ点 xq を指定します。

xq = [0 0.5 1.5 5.5 6];

'pchip' メソッドを使用して、xqv を評価します。

vq1 = interp1(x,v,xq,'pchip')
vq1 = 1×5 19.3684 13.6316 13.2105 7.4800 12.5600

次に 'linear' メソッドを使用して、xqv を評価します。

vq2 = interp1(x,v,xq,'linear')
vq2 = 1×5 NaN NaN 14 NaN NaN

ここで 'linear' メソッドを 'extrap' オプションで使用します。

vq3 = interp1(x,v,xq,'linear','extrap')

既定では 'pchip' は外挿を実行しますが、'linear' は外挿を行いません。

x の領域外のすべてのクエリに対する定数値の指定

ライブ スクリプトを開く

サンプル点 x と、対応するサンプル値 v を定義します。

x = [-3 -2 -1 0 1 2 3];v = 3*x.^2;

x の領域を越えるクエリ点 xq を指定します。

xq = [-4 -2.5 -0.5 0.5 2.5 4];

ここで 'pchip' メソッドを使用して、xqv を評価し、x の領域の外側の任意の値を、値 27 に割り当てます。

vq = interp1(x,v,xq,'pchip',27)
vq = 1×6 27.0000 18.6562 0.9375 0.9375 18.6562 27.0000

複数データ セットを一度に内挿

ライブ スクリプトを開く

サンプル点を定義します。

x = (-5:5)';

x で定義された点で、3 つの異なる放物線関数をサンプリングします。

v1 = x.^2;v2 = 2*x.^2 + 2;v3 = 3*x.^2 + 4;

列がベクトル v1v2 および v3 で構成される行列 v を作成します。

v = [v1 v2 v3];

x を含む範囲内でより細かくサンプリングを行うための一連のクエリ点 xq を定義します。

xq = -5:0.1:5;

xq で 3 つの関数すべてを評価し、結果をプロットします。

vq = interp1(x,v,xq,'pchip');figureplot(x,v,'o',xq,vq);h = gca;h.XTick = -5:5;

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (7)

プロット内の円は v を表し、実線は vq を表します。

入力引数

すべて折りたたむ

xサンプル点
ベクトル

サンプル点。実数の行または列ベクトルとして指定します。x の値は、一意でなければなりません。x の長さは、次のいずれかの要件に従わなければなりません。

  • v がベクトルの場合、length(x)length(v) と同じでなければなりません。

  • v が配列の場合、length(x)size(v,1) と同じでなければなりません。

例: [1 2 3 4 5 6 7 8 9 10]

例: 1:10

例: [3 7 11 15 19 23 27 31]'

データ型: single | double | duration | datetime

vサンプル値
ベクトル | 行列 | 配列

サンプル値。ベクトル、行列または実数か複素数の配列として指定します。v が行列または配列の場合、各列には 1 次元の値の個別のセットが含まれます。

v に複素数が含まれる場合、interp1 は実数部と虚数部を個別に内挿します。

例: rand(1,10)

例: rand(10,1)

例: rand(10,3)

データ型: single | double | duration | datetime
複素数のサポート: あり

xqクエリ点
スカラー | ベクトル | 行列 | 配列

クエリ点。実数のスカラー、ベクトル、行列または配列として指定します。

例: 5

例: 1:0.05:10

例: (1:0.05:10)'

例: [0 1 2 7.5 10]

データ型: single | double | duration | datetime

method内挿法
'linear' (既定値) | 'nearest' | 'next' | 'previous' | 'pchip' | 'cubic' | 'v5cubic' | 'makima' | 'spline'

内挿法。次の表のオプションのいずれかとして指定します。

メソッド

説明

連続性

コメント

'linear'

線形内挿クエリ点に内挿される値は、対応する各次元における、隣接するグリッド点の値を使用した線形内挿に基づいて決定されます。これは既定の内挿法です。

C0

  • 少なくとも 2 つの点が必要

  • 最近傍よりも多くのメモリと計算時間が必要

'nearest'

最近傍点による内挿。クエリ点に内挿される値は、最も近いサンプル グリッド点の値になります。

不連続

  • 少なくとも 2 つの点が必要

  • 必要メモリ量は中程度

  • 計算時間は最も速い

'next'

次の近傍内挿。クエリ点に内挿される値は、次のサンプル グリッド点の値になります。

不連続

  • 少なくとも 2 つの点が必要

  • メモリ要求と計算時間は 'nearest' と同じ

'previous'

前の近傍内挿。クエリ点に内挿される値は、前のサンプル グリッド点の値になります。

不連続

  • 少なくとも 2 つの点が必要

  • メモリ要求と計算時間は 'nearest' と同じ

'pchip'

形状維持区分的 3 次内挿。クエリ点に内挿される値は、隣接するグリッド点の値を使用した形状維持区分的 3 次内挿に基づいて決定されます。

C1

  • 少なくとも 4 つの点が必要

  • 'linear' よりも多くのメモリと長い計算時間が必要

'cubic'

MATLAB® 5 で使用される 3 次畳み込み。

C1

  • 少なくとも 3 つの点が必要

  • 点は等間隔でなければならない

  • 非等間隔のデータの場合、このメソッドは 'spline' 内挿に戻る

  • メモリ要求と計算時間は 'pchip' と同様

'v5cubic'

'cubic' と同じ。

C1

'makima'

修正 Akima 3 次エルミート内挿。クエリ点での内挿値は、次数が最大 3 である多項式の区分的関数に基づいています。Akima 式はオーバーシュートを回避するよう修正されています。

C1

  • 少なくとも 2 つの点が必要

  • 発生するうねりは 'spline' より少ないが、'pchip' ほど大幅に変動が少なくならない

  • 計算量は 'pchip' より多くなるが、通常は 'spline' より少ない

  • メモリの要件は 'spline' と同様

'spline'

節点なしの端点条件を使用したスプライン内挿。クエリ点に内挿される値は、個々の次元で隣接するグリッド点の値の 3 次内挿に基づいて決定されます。

C2

  • 少なくとも 4 つの点が必要

  • 'pchip' よりも多くのメモリと長い計算時間が必要

extrapolation外挿法
'extrap' | スカラー値

外挿法。'extrap' または実数スカラー値として指定します。

  • interp1 で内挿と同じ方法を使用して領域外にある点を評価する場合は、'extrap' を指定します。

  • interp1 により、領域外の点に対して特定の定数値を返す場合は、スカラー値を指定します。

既定の動作は、入力引数により異なります。

  • 内挿法として 'pchip''spline' または 'makima' を指定した場合、既定の動作は 'extrap' です。

  • 他のすべての内挿法は、領域の外側のクエリ点に対して、既定で NaN を返します。

例: 'extrap'

例: 5

データ型: char | string | single | double

出力引数

すべて折りたたむ

vq — 内挿値
スカラー | ベクトル | 行列 | 配列

内挿値。スカラー、ベクトル、行列または配列として返されます。vq のサイズは、vxq の形状によって異なります。

v の形状xq の形状Vq のサイズ
ベクトルベクトルsize(xq)size(v) = [1 100]
かつ size(xq) = [1 500] の場合、
size(vq) = [1 500]
ベクトル行列
または N 次元配列
size(xq)size(v) = [1 100]
かつ size(xq) = [50 30] の場合、
size(vq) = [50 30]
行列
または N 次元配列
ベクトル[length(xq) size(v,2),...,size(v,n)]size(v) = [100 3]
かつ size(xq) = [1 500] の場合、
size(vq) = [500 3]
行列
または N 次元配列
行列
または N 次元配列
[size(xq,1),...,size(xq,n),... size(v,2),...,size(v,m)]size(v) = [4 5 6]
かつ size(xq) = [2 3 7] の場合、
size(vq) = [2 3 7 5 6]

pp — 区分的多項式
構造体

区分的多項式。評価のために関数 ppval に渡すことができる構造体として返されます。

詳細

すべて折りたたむ

Akima とスプライン内挿

1 次元内挿の Akima アルゴリズム ([1] および [2] を参照) は、3 次内挿を実行して、連続 1 次微分 (C1) で区分的多項式を生成します。このアルゴリズムは勾配を保持し、変動の少ない領域のうねりを防ぎます。同一平面上に 3 つ以上の連続する点があり、このアルゴリズムにより直線で接続されている場合、常に変動の少ない領域が発生します。2 つのデータ点間の領域をフラットにするために、これらの 2 点間に追加のデータを挿入します。

勾配が異なる 2 つの変動の少ない領域が一致する場合、元の Akima アルゴリズムに修正を加えると、勾配が 0 に近い側に多くの重みが割り当てられます。この変更によって、より直観的な水平に近い側が優先され、オーバーシュートが回避されます (元の Akima アルゴリズムでは両側の点に同等の重みが割り当てられるため、うねりは均等に分割されます)。

一方のスプライン アルゴリズムは、3 次内挿を実行して、連続 2 次微分 (C2) で区分的多項式を生成します。結果は通常の多項式内挿と同等ですが、度数の高いデータ点間の大きな発振に影響されにくくなります。ただし、この方法では、データ点間のオーバーシュートや発振の影響を受ける場合があります。

spline アルゴリズムと比べると、Akima アルゴリズムでは生成されるうねりが少ないため、変動の少ない領域の間で急激に変化する場合への適用に適しています。この違いを、複数の変動の少ない領域を接続するテスト データを使用して以下に示します。

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (8)

参照

[1] Akima, Hiroshi. "A new method of interpolation and smooth curve fitting based on local procedures." Journal of the ACM (JACM) , 17.4, 1970, pp. 589-602.

[2] Akima, Hiroshi. "A method of bivariate interpolation and smooth surface fitting based on local procedures." Communications of the ACM , 17.1, 1974, pp. 18-20.

拡張機能

この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。

バージョン履歴

R2006a より前に導入

すべて展開する

参考

interp2 | interp3 | interpn | griddedInterpolant

MATLAB コマンド

次の MATLAB コマンドに対応するリンクがクリックされました。

 

コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1- MathWorks 日本 (9)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本 (日本語)
  • 한국 (한국어)

Contact your local office

1 次データ内挿 (テーブル ルックアップ) - MATLAB interp1
- MathWorks 日本 (2025)

FAQs

内挿するとはどういう意味ですか? ›

内挿とは 「内挿(英語では interpolation)」とは、既知の数値データ群(サンプル データ ポイント)をもとに、計算によって未知の部分の値を推定する手法のことです。 たとえば、ある地域内での降雨量の違いを知りたいときに、地域内のすべての箇所で降雨量を測定することは非現実的です。

数値の内挿とは? ›

内挿(ないそう、英: interpolation)や補間(ほかん)とは、ある既知の数値データ列を基にして、そのデータ列の各区間の範囲内を埋める数値を求めること、またはそのような関数を与えること。 またその手法を内挿法(英: interpolation method)や補間法という。 対義語は外挿や補外。

空間内挿とは? ›

求めたい位置の周辺のデータ点の中から1つの点を選び、そこでの値を推定値とする方法をさす。 観測値の集合にある値だけが結果に現われる特徴がある。 数量の形をしていても実際には定性的なデータの場合、あるいは空間的連続性があやしい場合に適している。

「挿れちゃう」とはどういう意味ですか? ›

挿入すること。 慣用的な読み方。

「内挿」の類語は? ›

内挿」の言い換え・類義語
  • 補間
  • 内挿
  • 近似値を求める
  • 推測により補う

共1次内挿法とは? ›

[visualization] 新しいセル値を決定するために、4 つの最近隣セルの加重平均を使用するリサンプリング方法

外挿と内挿の違いは? ›

点群の両端の区間の点(x0≤x≤xN) ( x 0 ≤ x ≤ x N ) の点を求めることを内挿, interpolation,区間の点を計算することを外挿, extrapolationと言う.

データの内挿と外挿の違いは何ですか? ›

用語解説 機械学習における内挿(Interpolation)とは、あるデータを使って訓練した機械学習モデルにおいて、その訓練データ(入力データおよび教師ラベル)の数値の範囲で出力を求めることを指す。 また外挿(Extrapolation)とは、その範囲で求めることを指す。

内挿術のメリットは? ›

ステントグラフト内挿術は、足の付け根からカテーテルを挿入し、血管の壁を内側から補強する方法です。 開胸や開腹が不要なので患者さんの体に対する負担が少なく、手術時間も人工血管置換術と比較して短いことがメリットです。

最適内挿法とは? ›

「最適内挿法」は、変分法よりも前に主流だった 解析手法である。 この手法では、観測データの第一 推定値からのずれを、観測誤差や予報誤差の統計情 報を考慮して第一推定値の格子に内挿し、第一推定 値を修正する。 この処理に使用される観測は、モデ ルで扱われる気温や風、湿度などの物理量の観測で なければならない。

スプライン内挿とは? ›

[spatial statistics (use for geostatistics)] セル値を推測する内挿法の 1 つ。 サーフェス全体の曲率を最小限に抑える数学関数を使用することで、入力ポイントを正確に通過する滑らかなサーフェスが得られます。

「挿ってる」とはどういう意味ですか? ›

差し込むことや挿入すること、また掲載することを意味する動詞表現。

補完法とは何か? ›

数表に出ている値の間を補うこと、すなわち、いくつかの点で与えられている関数値を基に、それらの点の中間における関数値を求めることをいう。

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Wyatt Volkman LLD

Last Updated:

Views: 5517

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Wyatt Volkman LLD

Birthday: 1992-02-16

Address: Suite 851 78549 Lubowitz Well, Wardside, TX 98080-8615

Phone: +67618977178100

Job: Manufacturing Director

Hobby: Running, Mountaineering, Inline skating, Writing, Baton twirling, Computer programming, Stone skipping

Introduction: My name is Wyatt Volkman LLD, I am a handsome, rich, comfortable, lively, zealous, graceful, gifted person who loves writing and wants to share my knowledge and understanding with you.