MATLAB Answers

Online parameter estimation for multiple output system

5 views (last 30 days)
Mohammadreza Yavari
Mohammadreza Yavari on 3 Dec 2017
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
Mohammadreza Yavari
Mohammadreza Yavari on 5 Dec 2017
Thank you, David, for the answer.
Yes, I can use three different blocks, one for each equation but then I get three different answers. I want a single answer that satisfies the three equations at the maximum possibility. If you think of least squares formulation, I have
y1 = A1 * x
y2 = A2 * x
y3 = A3 * x
and I want to get the x that minimizes
|([y1_m,y2_m,y3_m] - [(A1 * x) , (A2 * x)), (A3 * x)])|^2
where yi_m is the ith measured output.
One option that comes to my mind is dimension reduction using eigenvalues. However, I don't know how to do that exactly.
Please let me know if you have any hints or suggestions.
Thanks,

Sign in to comment.

Answers (1)

Mohammadreza Yavari
Mohammadreza Yavari on 5 Dec 2017
Edited: Mohammadreza Yavari on 6 Dec 2017
Thank you, David Fink, for the answer.
Yes, I can use three different blocks, one for each equation but then I get three different answers. I want a single answer that satisfies the three equations at the maximum possibility. If you think of least squares formulation, I have
y1 = A1 * x
y2 = A2 * x
y3 = A3 * x
and I want to get the x that minimizes
|([y1_m,y2_m,y3_m] - [(A1 * x) , (A2 * x)), (A3 * x)])|^2
where yi_m is the ith measured output.
One option that comes to my mind is dimension reduction using eigenvalues. However, I don't know how to do that exactly.
Please let me know if you have any hints or suggestions.
Thanks,
  2 Comments
Mohammadreza Yavari
Mohammadreza Yavari on 8 Dec 2017
Hi David
Thanks a bunch for this brilliant solution. I will give it a try and ask if I faced any further question.
I wanted to make it as accepted answer but it is a comment.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!