
Re: Using Solve/FSolve for Multiple Trig Equations
Posted:
May 2, 2013 3:22 AM


"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <klrqr9$k14$1@newscl01ah.mathworks.com>... > Alan_Weiss <aweiss@mathworks.com> wrote in message > > [ snip] > > > > So there is no solution to the equations, at least over the reals, and I > > think even over complex, too. > > There is solution(s) only if I^2 + J^2 + Z^2 = 1. And if there is one solution, there is an infinity of them, see my post. >
Here is a short code to illustrate that the problem of finding 3D rotation matrix R such that R*u = v has infinity solutions:
% Input vectors of norm 1 u = rand(3,1); u = u/norm(u) v = randn(3,1) ; v = v/norm(v);
% (Random) Rotation solution of (R*u) = v w = 0.5*(u + v); q = cross(u,v); r = randn(); % free parameter, any number will work q = q + r*w; q = q / norm(q); d = dot(u, q); c = q*d;
u1 = uc; u1 = u1/norm(u1); v1 = vc; v1 = v1/norm(v1); % Rodrigues's formula: k = cross(u1, v1); costheta = dot(u1,v1); R =[ 0 k(3) k(2); k(3) 0 k(1); k(2) k(1) 0]; R = costheta*eye(3) + R + k*k'*(1costheta)/sum(k.^2);
% Check disp(R) disp(R*u) % close to v
% Bruno

