fixed.qrAB

Вычислите C = Q '* B и верхний треугольный коэффициент R

Описание

пример

[C, R] = fixed.qrAB(A, B) вычисляет C = Q '* B и верхний треугольный коэффициент R. Функция одновременно выполняет вращения Гивенса, чтобы A и B для преобразования A в R и B в C.

Этот синтаксис эквивалентен

[C,R] = qr(A,B)

пример

[C, R] = fixed.qrAB(A, B, regularizationParameter) вычисляет C и R с помощью значения параметров регуляризации, заданного regularizationParameter. Когда задан параметр регуляризации, функция одновременно выполняет вращения Гивенса для преобразования

[λInA]R

и

[0n,pB]C

где A - m -by- n матрица, B - m -by- p матрица, и

Этот синтаксис эквивалентен

[Q,R] = qr([regularizationParameter*eye(n); A], 0);
C = Q'[zeros(n,p);B];

Примеры

свернуть все

В этом примере показано, как вычислить верхний треугольный коэффициент R, и C=Qb.

Задайте входные матрицы, A, и b.

rng('default');
m = 6;
n = 3;
p = 1;
A = randn(m,n)
A = 6×3

    0.5377   -0.4336    0.7254
    1.8339    0.3426   -0.0631
   -2.2588    3.5784    0.7147
    0.8622    2.7694   -0.2050
    0.3188   -1.3499   -0.1241
   -1.3077    3.0349    1.4897

b = randn(m,p)
b = 6×1

    1.4090
    1.4172
    0.6715
   -1.2075
    0.7172
    1.6302

The fixed.qrAB функция для возвратов верхнего треугольного фактора, R, и C=Qb.

[C, R] = fixed.qrAB(A,b)
C = 3×1

   -0.3284
    0.4055
    2.5481

R = 3×3

    3.3630   -2.8841   -1.0421
         0    4.8472    0.6885
         0         0    1.3258

Этот пример показывает, как решить систему линейных уравнений, Ax=b, путем вычисления верхнетреугольного фактора R, и C=Qb. Параметр регуляризации может улучшить обусловленность задач методом наименьших квадратов и уменьшить отклонение оценок при решении линейных систем уравнений.

Задайте входные матрицы, A, и b.

rng('default');
m = 50;
n = 5;
p = 1;
A = randn(m,n);
b = randn(m,p);

Используйте fixed.qrAB функция для вычисления верхнего треугольного фактора, R, и C=Qb.

[C, R] = fixed.qrAB(A, b, 0.01)
C = 5×1

   -0.6361
    1.7663
    1.5892
   -2.0638
   -0.1327

R = 5×5

    9.0631    0.7471    0.4126   -0.3606    0.1883
         0    7.2515   -1.1145    0.6011   -0.7544
         0         0    7.6132   -0.9460   -0.7062
         0         0         0    6.3065   -2.3238
         0         0         0         0    5.9297

Используйте этот результат для решения Ax=b использование x = R\C. Вычислите x = R\C использование fixed.qrMatrixSolve функция.

x = fixed.qrMatrixSolve(R,C)
x = 5×1

   -0.1148
    0.2944
    0.1650
   -0.3355
   -0.0224

Сравните результат с вычислительными x = A\b непосредственно.

x = A\b
x = 5×1

   -0.1148
    0.2944
    0.1650
   -0.3355
   -0.0224

Входные параметры

свернуть все

Вход матрицы коэффициентов, заданная как матрица.

Типы данных: single | double | fi
Поддержка комплексного числа: Да

Правая матрица, заданная как матрица.

Типы данных: single | double | fi
Поддержка комплексного числа: Да

Параметр регуляризации, заданный как неотрицательный скаляр. Маленькие, положительные значения параметра регуляризации могут улучшить обусловленность задачи и уменьшить отклонение оценок. Несмотря на смещение, уменьшенное отклонение оценки часто приводит к меньшей средней квадратичной невязке по сравнению с оценками методом наименьших квадратов.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Выходные аргументы

свернуть все

Линейная система коэффициент, возвращенный как матрица, которая удовлетворяет C = Q 'B.

Верхне-треугольный множитель, возвращенный как матрица, которая удовлетворяет A = Q * R.

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

.
Введенный в R2020b