fixed.qlessQR

QR-разложение без Q

Описание

пример

R = fixed.qlessQR(A) возвращает верхнюю треугольную R коэффициент QR-разложения A = Q * R.

Это эквивалентно вычислениям

[~,R] = qr(A)

пример

R = fixed.qlessQR(A, forgettingFactor) возвращает верхнюю треугольную R коэффициент QR-разложения и умножения R по forgettingFactor после каждой строки A обрабатывается.

Примеры

свернуть все

Этот пример показывает, как решить систему уравнений (AA)x=B использование прямого и обратного замещения.

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

rng default;
A = gallery('randsvd', [5,3], 1000);
b = [1; 1; 1; 1; 1];

Вычислите верхний треугольный коэффициент, R, из A, где A=QR.

R = fixed.qlessQR(A);

Используйте прямую и обратную подстановку, чтобы вычислить значение X.

X = fixed.forwardSubstitute(R,b);
X(:) = fixed.backwardSubstitute(R,X)
X = 5×1
105 ×

   -0.9088
    2.7123
   -0.8958
         0
         0

Это решение эквивалентно использованию fixed.qlessQRMatrixSolve функция.

x = fixed.qlessQRMatrixSolve(A,b) 
x = 5×1
105 ×

   -0.9088
    2.7123
   -0.8958
         0
         0

Использование коэффициента забывания с fixed.qlessQR функция примерно эквивалентна Комплексному и Вещественному Partial-Systolic Q-less QR с блоками Коэффициента Забывания. Эти блоки обрабатывают по одной строке матрицы входа за раз и применяют коэффициент забывания после обработки каждой строки. The fixed.qlessQR функция принимает сразу все строки A, но выполняет расчет так же, как и блоки. Коэффициент забывания применяется после обработки каждой строки.

Установка коэффициента забывания полезна, когда вы хотите непрерывно транслировать неопределенное количество строк, таких как чтение значений из массива датчиков постоянно, не накапливая данные без привязки.

Не используя коэффициент забывания, накопление является квадратным корнем из числа строк, поэтому 10000 строк накопились бы в 10000=100.

A = ones(10000,3);
R = fixed.qlessQR(A)
R = 3×3

  100.0000  100.0000  100.0000
         0    0.0000    0.0000
         0         0    0.0000

Для начисления с эффективной высотой m = 16 строк установите коэффициент забывания в следующее.

m=16;
forgettingFactor = exp(-1/(2*m))
forgettingFactor = 0.9692

Используя коэффициент забывания, fixed.qlessQR будет накапливаться примерно до квадратного корня 16.

R = fixed.qlessQR(A,forgettingFactor)
R = 3×3

    3.9377    3.9377    3.9377
         0    0.0000    0.0000
         0         0    0.0000

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

свернуть все

Входная матрица, заданная как матрица.

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

Коэффициент забывания, заданный как неотрицательный скаляр между 0 и 1. Коэффициент забывания определяет, сколько веса дается за данные. The forgettingFactor значение умножается на R после каждой строки A обрабатывается.

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

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

свернуть все

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

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

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