(Matrix Optimization) Optimization method for coefficient matrix in Ax = b with known x and b.

Hi,
I have two 4*1 data vectors x and b which represents meaured 'Intensity vector' and 'Stokes vector'. These two vectors are related to each other by a 4*4 transfer matrix A as Ax = b. In the ideal case, the relationship for all x and b must satisfy Ax = b for an ideal transfer matrix A_ideal = [0.5 0.5 0 0;0.5 0 0.5 0;0.5 -0.5 0 0;0.5 0 -0.5 0].
Now, in a non-ideal system I want to predict the matrix A for some x and b which will satisfy Ax = b. In the optimization routine A can be initialized as A_ideal and will optimize after each iteration until Ax = b is satified (or we get an near approximation).
What is the best method to optimization the above matrix and how can I implement it?
Thank you!

 Réponse acceptée

If x1, b1, x2, b2 are your given data, use
x1 = [2 7 56 -3];
b1 = [12 -4 0.23 pi];
x2 = [-5 23 9.5 12];
b2 = [0.43 2.4 -12.67 exp(2)];
n = 4;
M = [x1,zeros(1,n),zeros(1,n),zeros(1,n);...
zeros(1,n),x1,zeros(1,n),zeros(1,n);...
zeros(1,n),zeros(1,n),x1,zeros(1,n);...
zeros(1,n),zeros(1,n),zeros(1,n),x1;...
x2,zeros(1,n),zeros(1,n),zeros(1,n);...
zeros(1,n),x2,zeros(1,n),zeros(1,n);...
zeros(1,n),zeros(1,n),x2,zeros(1,n);...
zeros(1,n),zeros(1,n),zeros(1,n),x2];
R = [b1.';b2.'];
A = lsqlin(M,R);
norm(M*A-R)
ans = 4.1460e-15
A = reshape(A,n,n).'
A = 4×4
0 -0.0736 0.2235 0 0 0.1411 -0.0891 0 0 -0.5826 0.0769 0 0 0.3143 0.0168 0
A*x1.'-b1.'
ans = 4×1
1.0e-14 * 0.3553 -0.0888 0.1305 0.0888
A*x2.'-b2.'
ans = 4×1
1.0e-14 * 0.0833 0.0444 -0.1776 0

Plus de réponses (1)

If you have two 4x1 data vectors x and b to estimate A, you have 8 equations in 16 unknowns.
This system is underdetermined - you can imagine that in general, there are infinitely many ways how A can be chosen.
Is this ok for you ? Or are there some restrictions on the elments of A that should be incorporated ?

1 commentaire

Yes, I have 4 equations and 16 unknown parameters of matrix A for each x and b. It is okay for me find any A that satisfies Ax = b. There are no restrictions on the element of matrix A.
Could you please let me know any iterative method that can applied to this problem to find an optimized A?

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by