Compute Forgetting Factor Required for Streaming Input Data
This example shows how to use the fixed.forgettingFactor and fixed.forgettingFactorInverse functions.
The growth in the QR decomposition can be seen by looking at the magnitude of the first element of the upper-triangular factor , which is equal to the Euclidean norm of the first column of matrix ,
.
To see this, create matrix as a column of ones of length and compute of the economy-size QR decomposition.
n = 1e4; A = ones(n,1);
Then .
R = fixed.qlessQR(A)
R = 100.0000
norm(A)
ans = 100
sqrt(n)
ans = 100
The diagonal elements of the upper-triangular factor  of the QR decomposition may be positive, negative, or zero, but fixed.qlessQR and fixed.qrAB always return the diagonal elements of  as non-negative.
In a real-time application, such as when data is streaming continuously from a radar array, you can update the QR decomposition with an exponential forgetting factor  where . Use the fixed.forgettingFactor function to compute a forgetting factor  that acts as if the matrix were being integrated over  rows to maintain a gain of about . The relationship between  and  is  .
m = 16; alpha = fixed.forgettingFactor(m); R_alpha = fixed.qlessQR(A,alpha)
R_alpha = 3.9377
sqrt(m)
ans = 4
If you are working with a system and have been given a forgetting factor , and want to know the effective number of rows  that you are integrating over, then you can use the fixed.forgettingFactorInverse function. The relationship between  and  is .
fixed.forgettingFactorInverse(alpha)
ans = 16
See Also
Functions
- fixed.forgettingFactor|- fixed.forgettingFactorInverse|- fixed.qlessQR|- fixed.qlessQRMatrixSolve|- fixed.qlessQRUpdate