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

1 次查看(过去 30 天)
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 个评论
Matt J
Matt J 2018-2-20
编辑:Matt J 2018-2-20
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 2018-2-20
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.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by