Estimation the system (A) for known input and output [Y = A * X]

8 views (last 30 days)
Hi All,
For the case of having known input and known output, is there any way to estimate the matrix A in which y = A * x?
I have input matrix (n X 2) which is the position of the object in 2d-Screen at time t. I also know the out put vector which always contain two values (2 X 1).
I would like to estimate the matrix A in which x (variable size) multiplies by A becomes Y. (Y = A * X).
Is there any way to estimate the matrix A? Is this the Jacobian matrix? or should I follow the system identification?!
I would appreciate if you give me any lead in this.
Thanks

Accepted Answer

Cedric Wannaz
Cedric Wannaz on 28 Feb 2013
Edited: Cedric Wannaz on 28 Feb 2013
Unless your are in a special situation, there is an infinity of suitable A's .. and there is a dimension mismatch in your statement. Assuming that X is really nx2 and Y is really 2x1, you must have Y = X.'*A, with A a nx1 vector in fact. You must hence solve:
y1 = x11 a1 + x12 a2 + .. + x1n an
y2 = x21 a1 + x22 a2 + .. + x2n an
which is a system of 2 equations with n unknowns ( ai). Unless you are in a special situation, you can therefore define n-2 ai and solve for the two remaining ones. This would provide one particular A that fits the system above. An "interesting" choice for the n-2 ai is to set ai=0 for i>2. This reduces the system above to:
y1 = x11 a1 + x12 a2
y2 = x21 a1 + x22 a2
or simply Y = Xred.'*Ared, with Xred=X(1:2,:) and Ared is what you are looking for. This is a linear system that you can easily solve.
Play a bit with the following to see what happens..
X = [1 2 3; 5 3 4].' ;
Y = [7 -3].' ;
n = size(X, 1) ;
X1 = X(1:2,:) ;
A1 = X1.' \ Y ;
A2 = zeros(n-2, 1) ;
A =[A1; A2]
Y-X.'*A
I let you think more in depth for special cases.
Cheers,
Cedric

More Answers (1)

Youssef  Khmou
Youssef Khmou on 28 Feb 2013
Edited: Youssef Khmou on 28 Feb 2013
Hi Payam,
i am afraid A is not matrix but vector :
lets try :
n=10;
X=rand(n,2);
Y=rand(2,1);
A=Y'/X;
Error=(A*X)'-Y;
Error(Error<1e-10)=0;
  2 Comments

Sign in to comment.

Categories

Find more on Get Started with System Identification Toolbox 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!