Ahmed-ElTahan/Recursive-Least-Squares-with-Exponential-Forgetting
% This function is made by Ahmed ElTahan
%{
        This function is intended to estimate the parameters of a dynamic
        system of unknown time varying parameters using the 
        Recursive Least Squares with Exponential Forgetting Method (RLS).
        After an experiment, we get the inputs, the outputs of the system. 
        The experiment is operated with sample time Ts seconds. 
        The system here is transfer function in the form of:
                                            y         z^(-d) Bsys
                                Gp = ------ = ----------------------
                                            u               Asys
                                    
                                 Asys * y = z^(-d) Bsys * u + e
    where:
    -- y : output of the system.
    -- u : control action (input to the system).
    -- e : white guassian noise (noise with zero mean).
    -- Asys = 1 + a_1 z^-1 + a_2 z^-2 + ... + a_na z^(-na).
    -- Bsys = b_0 + b_1 z^-1 + b_2 z^-2 + ... + b_nb z^(-nb).
    -- d : delay in the system.
    Function inputs
    u : input to the system in column vector form
    y : input of the system in column vector form
    na : order of the denominator polynomial
    nb : order of the numerator polynomail
    d : number represents the delay between the input and the output
    Ts : sample time.
    lambda : forgetting factor  usually {0<lambda<1}
    
    Function Output
    Theta_final : final estimated parameters.
    Gz_estm : pulse (discrete) transfer function of the estimated parameters
    1 figure for the history of the parameters that are being estimated
    2 figure to validate the estimated parameters on the given output
    using the instantaneous estimated parameters.
    3 figure to plot the input versus time.
An example is added to illustrate how to use the function
Cita come
Ahmed ElTahan (2025). Ahmed-ElTahan/Recursive-Least-Squares-with-Exponential-Forgetting (https://github.com/Ahmed-ElTahan/Recursive-Least-Squares-with-Exponential-Forgetting), GitHub. Recuperato .
Compatibilità della release di MATLAB
Compatibilità della piattaforma
Windows macOS LinuxCategorie
Tag
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.
Le versioni che utilizzano il ramo predefinito di GitHub non possono essere scaricate
| Versione | Pubblicato | Note della release | |
|---|---|---|---|
| 1.0.0.0 | . |  | 
