Main Content

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

Interpolate Matrix(x,y)

与えられた入力に対する補間行列を返す

  • Interpolate Matrix(x,y) block

ライブラリ:
Aerospace Blockset / GNC / Control

説明

Interpolate Matrix(x,y) ブロックは、行列の 2 次元配列を補間します。2 次元の場合、補間は最初に x に対して実行され、次に y に対して実行されます。詳細については、アルゴリズムを参照してください。

補間する行列は 4 次元である必要があり、最初の 2 次元は xy の各値における行列に対応します。例えば、ABCDの4つの行列が(x = 0.0,y = 1.0)(x = 0.0,y = 3.0)(x = 1.0,y = 1.0)(x = 1.0,y = 3.0)で定義されている場合、入力行列は次のように表されます。

matrix(:,:,1,1) = A;

matrix(:,:,1,2) = B;

matrix(:,:,2,1) = C;

matrix(:,:,2,2) = D;

制限

このブロックは Prelookup ブロックから駆動される必要があります。

端子

入力

すべて展開する

最初の補間インデックス i。スカラーとベクトルとして指定されます。

データ型: double

最初の補間分数 λ x、スカラーとして指定

データ型: double

2 番目の補間インデックス j。スカラーとして指定されます。

データ型: double

2 番目の補間分数 λ y。スカラーとして指定されます。

データ型: double

出力

すべて展開する

補間行列。行列として指定されます。

データ型: double

パラメーター

すべて展開する

補間される行列。4 つのインデックスがあり、3 番目と 4 番目のインデックスは xy の補間値を示します。

プログラムでの使用

ブロック パラメーター: matrix
: 文字ベクトル
: 行列
既定の設定: 'matrix'

アルゴリズム

この 2 次元のケースでは、行列が 2 つの独立変数の関数として定義されていると想定しています。x = [ x1x2x3... xixi+1 ... xn] および y = [ y1y2y3 ... yjyj+1 ... ym]。xy の値が与えられた場合、4 つの行列が補間されます。xi < x < xi+1およびyj < y < yj+1の場合、出力行列は次のように表されます。

(1λy)[(1λx)M(xi,yj)+λxM(xi+1,yj)]+λy[(1λx)M(xi,yj+1)+λxM(xi+1,yj+1)]

ここで、2つの補間分数は次のように表される。

λx=(xxi)/(xi+1xi)

λy=(yyj)/(yj+1yj)

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入