Ортонормальный базис линейной оболочки столбцов матрицы
Q = orth(
возвращает ортонормированный базис для области значений A
)A
. Столбцы Q
векторы, которые порождают линейную оболочку столбцов A
. Количество столбцов в Q
равно рангу A
.
Вычислите и проверьте ортонормированные векторы базиса линейной оболочки столбцов матрицы полного ранга.
Задайте матрицу и найдите ранг.
A = [1 0 1;-1 -2 0; 0 1 -1]; r = rank(A)
r = 3
Начиная с A
квадратная матрица полного ранга, ортонормированный базис, вычисленный orth(A)
совпадает с матричным U
вычисленный в сингулярном разложении, [U,S] = svd(A,'econ')
. Это вызвано тем, что сингулярные значения A
являются все ненулевыми.
Вычислите ортонормированный базис для области значений A
использование orth
.
Q = orth(A)
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
одного размера.
Проверьте что базис, Q
, является ортогональным и нормирован в разумном диапазоне ошибок.
E = norm(eye(r)-Q'*Q,'fro')
E = 1.0857e-15
Ошибка находится порядка eps
.
Вычислите и проверьте ортонормированные векторы базиса области значений матрицы неполного ранга.
Задайте сингулярную матрицу и найдите ранг.
A = [1 0 1; 0 1 0; 1 0 1]; r = rank(A)
r = 2
Начиная с A
имеет неполный ранг, ортонормированный базис, вычисленный orth(A)
соответствия только первый r = 2
столбцы матричного U
вычисленный в сингулярном разложении, [U,S] = svd(A,'econ')
. Это вызвано тем, что сингулярные значения A
не являются все ненулевыми.
Вычислите ортонормированный базис для области значений A
использование orth
.
Q = orth(A)
Q = 3×2
-0.7071 0
0 1.0000
-0.7071 0
Начиная с A
имеет неполный ранг, Q
содержит тот меньше столбца, чем A
.
A
— Введите матрицуВведите матрицу.
Типы данных: single
| double
Поддержка комплексного числа: Да
Пробел столбца или область значений, матричного A
набор всех линейных комбинаций столбцов A
. Любой вектор, b
, это - решение линейного уравнения, A*x = b
, включен в область значений A
поскольку можно также записать его как линейную комбинацию столбцов A
.
rank
из матрицы равно размерности области значений.
orth
получен из U
в сингулярном разложении, [U,S] = svd(A,'econ')
. Если r = rank(A)
, первый r
столбцы U
сформируйте ортонормированный базис для области значений A
.
Указания и ограничения по применению:
Сгенерированный код может возвратить различный базис, чем MATLAB® возвращается.
Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.
backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.