Main Content

hankel

説明

H = hankel(c) は正方ハンケル行列を返します。ここで、c は行列の最初の列を定義し、反主対角要素より下側の要素がゼロです。

H = hankel(c,r) は、1 列目が c で、最後の行が r であるハンケル行列を返します。c の最後の要素が r の最初の要素と異なる場合、hankel は警告を発行し、c の最後の要素を反対角要素に使用します。

すべて折りたたむ

対称ハンケル行列を作成します。

c = [1 2 3 4];
hankel(c)
ans = 4×4

     1     2     3     4
     2     3     4     0
     3     4     0     0
     4     0     0     0

指定された列ベクトルと行ベクトルをもつ非対称ハンケル行列を作成します。

c = [2 4 6];
r = [6 5 4 3 2 1];
hankel(c,r)
ans = 3×6

     2     4     6     5     4     3
     4     6     5     4     3     2
     6     5     4     3     2     1

別の非対称ハンケル行列を作成します。列ベクトルの最後の要素が行ベクトルの最初の要素と一致しない場合、hankel は警告を発行し、列の最後の要素を反対角要素として使用します。

c = [1 2 3];
r = [4 5 7 9];
hankel(c,r)
Warning: Last element of input column does not match first element of input row. 
         Column wins anti-diagonal conflict.
ans = 3×4

     1     2     3     5
     2     3     5     7
     3     5     7     9

複素数の行および列ベクトルを使用してハンケル行列を作成します。

c = [1+2i 2-4i -1+3i];
r = [-1+3i 3-1i 1-2i];
hankel(c,r)
ans = 3×3 complex

   1.0000 + 2.0000i   2.0000 - 4.0000i  -1.0000 + 3.0000i
   2.0000 - 4.0000i  -1.0000 + 3.0000i   3.0000 - 1.0000i
  -1.0000 + 3.0000i   3.0000 - 1.0000i   1.0000 - 2.0000i

入力引数

すべて折りたたむ

ハンケル行列の最初の列。スカラーまたはベクトルとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
複素数のサポート: あり

ハンケル行列の最後の行。スカラーまたはベクトルとして指定します。c の最後の要素が r の最初の要素と異なる場合、hankelc の最後の要素を反対角要素に使用します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
複素数のサポート: あり

詳細

すべて折りたたむ

ハンケル行列

ハンケル行列とは、各反対角に沿った要素が等しい行列です。

H=[c1c2c3c2c3c3cm1cmr2rn2cm1cmr2rn2rn1cmr2rn2rn1rn].

c がハンケル行列の 1 列目で、r がハンケル行列の最後の行である場合、p = [c r(2:end)] はマッピング Hi,j = pi+j-1 を使用してハンケル行列のすべての要素を完全に決定します。正方ハンケル行列はすべて対称です。

拡張機能

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

バージョン履歴

R2006a より前に導入