Online parameter estimation for multiple output system
2 views (last 30 days)
Show older comments
Hi Everyone,
I have a model with 6 parameters and I want to estimate these parameters online using "Online Recursive Least Squares Estimation" block in Simulink. The problem is that this block is designed for single output models only.
My model is like this:
Y_3*1 = H_3*6 X theta_6*1
do you have any idea how I can use this block or any other block to estimate my parameters online and efficiently?
In other words, I have three equations which are dependent to six parameters.
Thanks a lot
2 Comments
David Fink
on 5 Dec 2017
I'm not sure I understand the model.
If the coefficients for the 3 outputs are independent, using one of those blocks for each output with all 6 parameters would produce 6 coefficients for each output.
If this is not what you are looking for, please clarify the model description and your overall goal.
Answers (1)
Mohammadreza Yavari
on 5 Dec 2017
Edited: Mohammadreza Yavari
on 6 Dec 2017
2 Comments
David Fink
on 7 Dec 2017
This doesn't solve the exact sum of squares problem, but it approximates it:
"Unbuffer" the data (vector of outputs and matrix of inputs) to handle one at a time, and pass these all through one Recursive Least Squares Estimator block. The Unbuffer Block is part of the DSP System Toolbox.
See the attached example (created in MATLAB R2017a). The inputs and outputs are constants:
[1 2] -> 1
[3 4] -> 2
[5 6] -> 3
The optimal output coefficients should be [0 0.5]. After 50 iterations (150 updates to parameters), we get an output of [2.8e-6 0.5].
See Also
Categories
Find more on Online Parameter Estimation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!