How to find unknown linear operator?
이전 댓글 표시
I have a square matrix A that acts on a some vector x such that A*x = y. Matrix A is heavily constrained with only a few unknowns. x and y are known exactly. How do I solve for A?
For example say:
sym a b c d
A = [a 0 0 b;
c d 0 0;
0 0 0 0;
0 0 0 0]
x = % some known vector
y = % some known vector
How do we find A now?
댓글 수: 2
sahil kommalapati
2019년 11월 23일
편집: sahil kommalapati
2019년 11월 23일
This is a method which come to mind:
syms a b c d
A = [a 0 0 b;
c d 0 0;
0 0 0 0;
0 0 0 0];
x = zeros(4,1); %your known vecotor here
y = zeros(4,1); %and here!
eq1 = A*x ==y;
k = solve(eq1, [a,b,c,d]);
sol = [k.a, k.b, k.c, k.d]
David Goodmanson
2019년 11월 23일
Hello Tsuyoshi,
Well, with your example for A, you are certainly not going to do it for arbitrary x and y, because the form of A means that y(3)=y(4)=0. So any solution with either y(3) or y(4) nonzero is impossible. (It's a consequence of A being singular).
But let's say that y(3)=y(4)=0. The two equations that are left are
a*x(1) + b*x(4) = y(1)
c*x(1) + d*x(2) = y(2)
which is one eqn. for two unknowns a,b
and one eqn. for two unknowns c,d
so you can get solutions, but you can't solve for any unknown uniquely.
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Mathematics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!