how to obtain the orthogonal vectors of one 3*1 unit vector?

23 visualizaciones (últimos 30 días)
Stanley Cheng
Stanley Cheng el 17 de Dic. de 2013
Comentada: Jeff el 4 de Dic. de 2014
Hi everyone,
I have a 3*1 unit vector as r1= [ 0.6619 0.6976 -0.2740]', and want to obtain the other two unit orthogonal vectors of r1. these two vectors are named as r2 and r3, they satisfy:
R=[r1 r2 r3] is a 3*3 unit orthogonal matrix.
Could anyone tell me what commands in matlab is useful to do this? Thx very much!

Respuesta aceptada

Matt J
Matt J el 17 de Dic. de 2013
Editada: Matt J el 17 de Dic. de 2013
null(r1(:).')
  3 comentarios
Matt J
Matt J el 17 de Dic. de 2013
Yes. If you look inside null.m you will see that it uses SVD, but with thresholding rules that you may not agree with.

Iniciar sesión para comentar.

Más respuestas (1)

David Sanchez
David Sanchez el 17 de Dic. de 2013
a = [0.6619 0.6976 -0.2740];
b = [a(1) a(3) -a(2)];
c = cross(a,b);
c = c/norm(c);
M = [a;b;c]; % orthogonal matrix
  1 comentario
Matt J
Matt J el 17 de Dic. de 2013
Don't think so
>> M'*M
ans =
1.2669 0.0854 -0.1959
0.0854 0.6590 -0.2232
-0.1959 -0.2232 1.0738

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by