ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

bandwidth

下方および上方の行列の帯域幅

構文

  • B = bandwidth(A,type)
  • [lower,upper] = bandwidth(A)

説明

B = bandwidth(A,type) は、type で指定された行列 A帯域幅を返します。下方の帯域幅の場合は 'lower'、上方の帯域幅の場合は 'upper' として type を指定します。

[lower,upper] = bandwidth(A) は、行列 A の下方の帯域幅 lower と上方の帯域幅 upper を返します。

すべて折りたたむ

三角行列の帯域幅を求める

6 行 6 列の下三角行列を作成します。

A = tril(magic(6))
A =

    35     0     0     0     0     0
     3    32     0     0     0     0
    31     9     2     0     0     0
     8    28    33    17     0     0
    30     5    34    12    14     0
     4    36    29    13    18    11

type'lower' に指定して、A の下方の帯域幅を求めます。

B = bandwidth(A,'lower')
B =

     5

主対角の下のそれぞれの対角には非ゼロ要素があるため、結果は 5 になります。

type'upper' に指定して、A の上方の帯域幅を求めます。

B = bandwidth(A,'upper')
B =

     0

主対角の上には非ゼロ要素がないため、結果は 0 になります。

スパース ブロック行列の帯域幅を求める

100 行 100 列のスパース ブロック行列を作成します。

B = kron(speye(25),ones(4));

B の左上から 10 行 10 列の要素のセクションを表示します。

full(B(1:10,1:10))
ans =

     1     1     1     1     0     0     0     0     0     0
     1     1     1     1     0     0     0     0     0     0
     1     1     1     1     0     0     0     0     0     0
     1     1     1     1     0     0     0     0     0     0
     0     0     0     0     1     1     1     1     0     0
     0     0     0     0     1     1     1     1     0     0
     0     0     0     0     1     1     1     1     0     0
     0     0     0     0     1     1     1     1     0     0
     0     0     0     0     0     0     0     0     1     1
     0     0     0     0     0     0     0     0     1     1

B には、主対角の中央に配置された 4 行 4 列のブロックがあります。

2 つの出力引数を指定して、B の下方と上方の両方の帯域幅を求めます。

[lower,upper] = bandwidth(B)
lower =

     3


upper =

     3

下方と上方の帯域幅は両方とも 3 です。

入力引数

すべて折りたたむ

A — 入力行列2 次元数値行列

2 次元数値行列として指定する入力行列。A は非スパースまたはスパースです。

データ型: single | double
複素数のサポート: はい

type — 帯域幅の種類'lower' | 'upper'

'lower' または 'upper' として指定する、帯域幅の種類。

  • 下方の帯域幅の場合、'lower' を指定します。下方の帯域幅は、主対角の下にある非ゼロの対角の数です。

  • 上方の帯域幅の場合、'upper' を指定します。上方の帯域幅は、主対角の上にある非ゼロの対角の数です。

データ型: char

出力引数

すべて折りたたむ

B — 下方および上方の帯域幅非負の整数スカラー

非負の整数スカラーとして返される、下方または上方の帯域幅。

  • type'lower' の場合、B は主対角の下にある非ゼロの対角の数で、0 ≤ B ≤ size(A,1)-1 となります。

  • type'upper' の場合、B は主対角の上にある非ゼロの対角の数で、0 ≤ B ≤ size(A,2)-1 となります。

lower — 下方の帯域幅非負の整数スカラー

非負の整数スカラーとして返される、下方の帯域幅。下方の帯域幅は、主対角の下にある非ゼロの対角の数です。lower0 ≤ lower ≤ size(A,1)-1 の範囲です。

upper — 上方の帯域幅非負の整数スカラー

非負の整数スカラーとして返される、上方の帯域幅。上方の帯域幅は、主対角の上にある非ゼロの対角の数です。upper0 ≤ upper ≤ size(A,2)-1 の範囲です。

詳細

すべて折りたたむ

帯域幅

行列の上方と下方の帯域幅は、主対角のそれぞれ上および下にある非ゼロの対角の数です。

この上方および下方の帯域幅に対して、行列の合計帯域幅は upper + lower + 1 になります。

ヒント

  • 関数 isbanded を使用して、行列が特定の上方および下方の帯域幅内にあるかどうかをテストします。

参考

| | | |

この情報は役に立ちましたか?