メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

bandwidth

下方および上方の行列のバンド幅

説明

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

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

すべて折りたたむ

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

A = tril(magic(6))
A = 6×6

    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 の下方のバンド幅を求めます。主対角の下のそれぞれの対角には非ゼロ要素があるため、結果は 5 になります。

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

type'upper' に指定して、A の上方のバンド幅を求めます。主対角の上には非ゼロ要素がないため、結果は 0 になります。

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

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

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

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

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

     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 の主対角の中央に、1 の 4 行 4 列のブロックがあります。

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

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

入力引数

すべて折りたたむ

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

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

'lower' または 'upper' として指定する、バンド幅の種類。

  • 下方のバンド幅 (主対角の下) の場合、'lower' を指定します。

  • 上方のバンド幅 (主対角の上) の場合、'upper' を指定します。

出力引数

すべて折りたたむ

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

  • type'lower' の場合、0Bsize(A,1)-1

  • type'upper' の場合、0Bsize(A,2)-1

非負の整数スカラーとして返される、下方のバンド幅。lower の範囲は、0lowersize(A,1)-1 です。

非負の整数スカラーとして返される、上方のバンド幅。upper の範囲は、0uppersize(A,2)-1 です。

詳細

すべて折りたたむ

ヒント

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

拡張機能

すべて展開する

バージョン履歴

R2014a で導入