В этом примере показано, как обновить верхний треугольный множитель матрицы как новые потоки данных в.
Задайте матрицу и вычислите верхний треугольный множитель, R
, использование fixed.qlessQR
функция.
A = 20×4
0.5377 0.6715 -0.1022 -1.0891
1.8339 -1.2075 -0.2414 0.0326
-2.2588 0.7172 0.3192 0.5525
0.8622 1.6302 0.3129 1.1006
0.3188 0.4889 -0.8649 1.5442
-1.3077 1.0347 -0.0301 0.0859
-0.4336 0.7269 -0.1649 -1.4916
0.3426 -0.3034 0.6277 -0.7423
3.5784 0.2939 1.0933 -1.0616
2.7694 -0.7873 1.1093 2.3505
⋮
R = 4×4
7.1017 -2.0103 1.1646 0.7999
0 4.8784 0.5745 -0.3222
0 0 3.1658 -0.4570
0 0 0 4.4965
Когда новые данные прибывают, например, новые значения от сенсорной матрицы, можно использовать fixed.qlessQRUpdate
функционируйте, чтобы обновить верхний треугольный множитель с новыми данными.
R = 4×4
7.1718 -1.8513 1.2927 0.9315
0 5.0412 0.7646 -0.0904
0 0 3.2332 -0.2584
0 0 0 4.6074
R = 4×4
7.2411 -1.6954 1.4184 1.0607
0 5.1929 0.9371 0.1191
0 0 3.2892 -0.0962
0 0 0 4.6928
Результат обновления верхнего треугольного множителя как новые данные прибывает, эквивалентно вычислению верхнего треугольного множителя со всеми данными.
R = 4×4
7.2411 -1.6954 1.4184 1.0607
0 5.1929 0.9371 0.1191
0 0 3.2892 -0.0962
0 0 0 4.6928
Когда это необходимо, чтобы передавать неопределенное количество потоком строк постоянно, таких как чтение значений от сенсорной матрицы постоянно, не накапливая данные без связанного, задают фактор упущения.
forgettingFactor = 0.9753
R = 4×4
7.1294 -1.5046 1.5038 1.1582
0 5.2031 1.0676 0.3020
0 0 3.2543 0.0379
0 0 0 4.6431