| MATLAB Function Reference | ![]() |
表示
theta = subspace(A,B)
詳細
theta = subspace(A,B)
は、A と B の列で指定した 2 つの部分空間の間の角度を求めます。A と B が、単位長の列ベクトルの場合、theta は、acos(A'*B) と同じです。
注意
2 つの部分空間間の角度が小さい場合、2 つの部分空間は、ほぼ線形従属です。観測値 A で、説明される物理実験と、B で説明される実験の結果において、subspace(A,B) は、変動の統計誤差と関係ない第2の実験で与えられる新しい情報量の尺度を与えます。
例題
列が直交である Hadamard 行列の 2 つの部分空間について考えます。
H = hadamard(8); A = H(:,2:4); B = H(:,5:8);
行列 A と B は、サイズが異なることに注意してください。A は、3 列で、B は、4 列です。2 つの部分空間間の角度を求めるために、それらが同じサイズである必要はありません。幾何学的に、これは高次の空間内の 2 つの超平面の間の角度です。
theta = subspace(A,B)
theta =
1.5708
A と B が直交することは、theta が、
/2 であることでわかります。
theta - pi/2
ans =
0
| subsindex | subsref | ![]() |