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