ドキュメンテーションヘルプ センター
最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
行列の範囲の正規直交基底
Q = orth(A)
例
Q = orth(A) は、A の範囲の正規直交基底を返します。Q の列はベクトルであり、A の範囲に広がります。Q の列数は A のランクと等しくなります。
A
Q
すべて折りたたむ
フル ランク行列の範囲の正規直交基底ベクトルを計算して検証します。
行列を定義し、ランクを求めます。
A = [1 0 1;-1 -2 0; 0 1 -1]; r = rank(A)
r = 3
A はフル ランクの正方行列であるため、orth(A) によって計算される正規直交基底は特異値分解 [U,S] = svd(A,'econ') で計算される行列 U と一致します。これは、A の特異値がすべて非ゼロであるためです。
orth(A)
[U,S] = svd(A,'econ')
U
orth を使用して A の範囲の正規直交基底を計算します。
orth
Q = 3×3 -0.1200 -0.8097 0.5744 0.9018 0.1531 0.4042 -0.4153 0.5665 0.7118
Q の列数は rank(A) と等しくなります。A はフル ランクであるため、Q と A のサイズは同じです。
rank(A)
基底 Q が直交し、妥当な誤差範囲内に正規化されていることを検証します。
E = norm(eye(r)-Q'*Q,'fro')
E = 9.4147e-16
誤差は eps と同程度です。
eps
ランク落ち行列の範囲の正規直交基底ベクトルを計算して検証します。
特異行列を定義し、ランクを求めます。
A = [1 0 1; 0 1 0; 1 0 1]; r = rank(A)
r = 2
A はランク落ちであるため、orth(A) によって計算される正規直交基底は特異値分解 [U,S] = svd(A,'econ') で計算される行列 U の最初の r = 2 列のみと一致します。A の特異値がすべて非ゼロ "でない" のはこのためです。
Q = 3×2 -0.7071 -0.0000 0 1.0000 -0.7071 0.0000
A はランク落ちであるため、Q に含まれる列は A より 1 つ少なくなります。
入力行列。
データ型: single | double 複素数のサポート: あり
single
double
行列 A の列空間または "範囲" は、A の列のすべての線形結合の集合です。線形方程式 A*x = b の解となるベクトル b は、A の列の線形結合として記述することもできるため、必ず A の範囲に含まれます。
A*x = b
b
行列の rank は範囲の次元と等しくなります。
rank
orth は、特異値分解 [U,S] = svd(A,'econ') の U から求められます。r = rank(A) の場合、U の最初の r 列は A の範囲の正規直交基底を構成します。
r = rank(A)
r
使用上の注意事項および制限事項:
生成されたコードは MATLAB® と異なる基底を返す場合があります。
コード生成では、この関数のスパース行列入力はサポートされません。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
null | rank | svd
null
svd
この例の変更されたバージョンがシステム上にあります。代わりにこのバージョンを開きますか?
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office