このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
rank
行列のランク
説明
例
行列のランク
行列がフル ランクであるかどうかを判定します。
3 行 3 列の行列を作成します。3 列目の値は、2 列目の値の 2 倍になっています。
A = [3 2 4; -1 1 2; 9 5 10]
A = 3×3
3 2 4
-1 1 2
9 5 10
行列のランクを計算します。行列がフル ランクの場合、ランクは列数 size(A,2)
と等しくなります。
rank(A)
ans = 2
size(A,2)
ans = 3
これらの列が線形従属しているため、この行列はランク落ちです。
ランクの許容誤差の指定
許容誤差を使用して行列のランクを計算します。
4 行 4 列の対角行列を作成します。この対角行列には、1e-15
に等しい 1 つの小さな値があります。
A = [10 0 0 0; 0 25 0 0; 0 0 34 0; 0 0 0 1e-15]
A = 4×4
10.0000 0 0 0
0 25.0000 0 0
0 0 34.0000 0
0 0 0 0.0000
行列のランクを計算します。
rank(A)
ans = 3
この行列がフル ランクとして認識されないのは、行列の既定のアルゴリズムでは max(size(A))*eps(norm(A))
より大きな特異値の数が計算されるためです。この行列では、対角上の小さな値は許容誤差より小さいため、除外されます。
行列のランクを再度計算します。ただし、許容誤差は 1e-16
に指定します。
rank(A,1e-16)
ans = 4
入力引数
詳細
ランク
行列内で線形に独立している列の数が、その行列の "ランク" となります。行列の行と列のランクは常に等しくなります。
行列は、同じサイズの行列で可能な最高のランクである場合に "フル ランク" となり、フル ランクでない場合に "ランク落ち" となります。このランクは、行列の "範囲" または "列空間" (列のすべての線形結合の集合) の次元を測定したものです。
アルゴリズム
rank
は特異値分解 (SVD) に基づくメソッドを使用します。SVD アルゴリズムは他のいくつかの代替方法より時間がかかりますが、信頼性は最も高くなります。
行列 A
のランクは、許容誤差より大きな特異値の数として計算されます。既定では、許容誤差は max(size(A))*eps(norm(A))
です。ただし、コマンド rank(A,tol)
を使用して別の許容誤差を指定することもできます。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
コード生成では、この関数のスパース行列入力はサポートされません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意事項および制限事項:
コード生成では、この関数のスパース行列入力はサポートされません。
スレッドベースの環境
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)を参照してください。
バージョン履歴
R2006a より前に導入
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)