subspace

Угол между двумя подпространствами

Синтаксис

theta = subspace(A,B)

Описание

theta = subspace(A,B) находит угол между двумя подпространствами, заданный столбцами A и B. Если A и B Векторы-столбцы модуля длины, это то же самое, что и acos(abs(A'*B)).

Примеры

Рассмотрим два подпространства матрицы Адамара, столбцы которой ортогональны.

H = hadamard(8);
A = H(:,2:4);
B = H(:,5:8);

Обратите внимание, что матрицы A и B разные размеры - A имеет три столбца и B четыре. Не обязательно, чтобы два подпространства были одинаковыми по размеру порядка чтобы найти угол между ними. Геометрически это угол между двумя гиперплосками, встроенными в более высокое размерное пространство.

theta = subspace(A,B)
theta =
    1.5708

Что A и B ортогональны, показано тем, что theta равно π/2.

theta - pi/2
ans =
     0

Совет

Если угол между двумя подпространствами мал, то два пространства почти линейно зависимы. В физическом эксперименте, описанном некоторыми наблюдениями Aи второе осуществление эксперимента, описанного в B, subspace(A,B) дает меру объема новой информации, предоставленной вторым экспериментом, не связанным со статистическими ошибками колебаний.

Расширенные возможности

.
Представлено до R2006a