Filter löschen
Filter löschen

Solve Matrix A = B for variables a b and c with equations consisting of cosines and sines

1 Ansicht (letzte 30 Tage)
What is the easiest way to solve A = B for a, b and g with the following matrices:
A = [ cos(b)*cos(g), cos(g)*sin(a)*sin(b) - cos(a)*sin(g), sin(a)*sin(g) + cos(a)*cos(g)*sin(b); cos(b)*sin(g), sin(a)*sin(b)*sin(g) - cos(a)*cos(g), cos(g)*sin(a) + cos(a)*sin(b)*sin(g);
-sin(b), cos(b)*sin(a), cos(a)*cos(b)]
B = [0.6122, -0.7891, -0.0506;
0.7903, 0.6126, 0.0091;
-0.0238, 0.0456, -0.9987]
  5 Kommentare
Matt J
Matt J am 20 Feb. 2018
Bearbeitet: Matt J am 20 Feb. 2018
Like I said, you will find code routines to do these kind of decompositions for you on the File Exchange. No need to re-invent the wheel. I don't think you will be able to solve it symbolically, because your B is not precisely orthogonal. It contains floating point errors.
John D'Errico
John D'Errico am 20 Feb. 2018
You want to solve for A==B. That is equivalent to having 9 simultaneous equations.
You have THREE variables. Nine equations. There are too many equations in only 3 unknowns.
There will essentially never be an exact solution. This is why solve could not succeed.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by