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 | ![]() |