isdiag
行列が対角かどうかを判別
説明
例
対角行列のテスト
4 行 4 列の単位行列を作成します。
I = eye(4)
I = 4×4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
対角行列であるかどうかをテストします。
isdiag(I)
ans = logical
1
非ゼロ要素がすべて主対角上にあるので、この行列は対角です。
帯行列のテスト
主対角と最初の対角に非ゼロ要素をもつ行列を作成します。
A = 3*eye(4) + diag([2 2 2],1)
A = 4×4
3 2 0 0
0 3 2 0
0 0 3 2
0 0 0 3
対角行列であるかどうかをテストします。
isdiag(A)
ans = logical
0
主対角の上側に非ゼロ要素があるので、この行列は対角ではありません。
A
の主対角要素から、新たに行列 B
を作成します。
B = diag(diag(A));
B
が対角行列であるかどうかをテストします。
isdiag(B)
ans = logical
1
主対角の上側または下側に非ゼロ要素がないので、この行列は対角です。
入力引数
A
— 入力配列
配列
入力配列。A
が 2 つを超える次元をもつ場合、isdiag
は logical 0
(false
) を返します。
データ型: single
| double
| logical
複素数のサポート: あり
詳細
対角行列
主対角の上側と下側の要素がすべてゼロである行列は、対角です。また、主対角上の任意の数の要素も、ゼロである可能性があります。
たとえば、この 4 行 4 列の単位行列は対角行列です。
対角行列は通常正方行列ですが、必ずしもそうであるとは限りません。
ヒント
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2014a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
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:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
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
- United Kingdom (English)