Estimation the system (A) for known input and output [Y = A * X]
1 view (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Cedric
on 28 Feb 2013
Edited: Cedric
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
0 Comments
More Answers (1)
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
Jan
on 28 Feb 2013
It will have strange side-effects, if you shadow the important builtin function error() by a variable.
See Also
Categories
Find more on Linear Model Identification 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!