Online parameter estimation for multiple output system
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
David Fink
2017-12-5
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.
回答(1 个)
Mohammadreza Yavari
2017-12-5
编辑:Mohammadreza Yavari
2017-12-6
2 个评论
David Fink
2017-12-7
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].
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Online Parameter Estimation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!