MATLAB ヘルプ センター
行列が対角かどうかを判別
tf = isdiag(A)
tf = isdiag(A) は、A が対角行列の場合は logical 1 (true) を返します。その他の場合は logical 0 (false) を返します。
A
1
true
0
false
例
すべて折りたたむ
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
B = diag(diag(A));
B が対角行列であるかどうかをテストします。
isdiag(B)
主対角の上側または下側に非ゼロ要素がないので、この行列は対角です。
入力配列。A が 2 つを超える次元をもつ場合、isdiag は logical 0 (false) を返します。
isdiag
データ型: single | double | logical 複素数のサポート: あり
single
double
logical
主対角の上側と下側の要素がすべてゼロである行列は、対角です。また、主対角上の任意の数の要素も、ゼロである可能性があります。
たとえば、この 4 行 4 列の単位行列は対角行列です。
I4=(1000010000100001)
対角行列は通常正方行列ですが、必ずしもそうであるとは限りません。
関数 diag を使用して、isdiag が logical 1 (true) を返す対角行列を作成します。
diag
関数 isdiag、istriu、istril は関数 isbanded の特殊形です。この関数の上方と下方のバンド幅を適切に定義して、同じテストをすべて実行することができます。たとえば、isdiag(A) == isbanded(A,0,0) のようになります。
istriu
istril
isbanded
isdiag(A) == isbanded(A,0,0)
すべて展開する
backgroundPool
ThreadPool
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
isdiag 関数は、GPU 配列を完全にサポートします。GPU 上で関数を実行するには、入力データを gpuArray (Parallel Computing Toolbox) として指定します。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
gpuArray
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
R2014a で導入
istril | istriu | tril | triu | diag | isbanded | bandwidth
tril
triu
bandwidth
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ