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

23 views (last 30 days)
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!

Accepted Answer

Matt J
Matt J on 17 Dec 2013
Edited: Matt J on 17 Dec 2013
null(r1(:).')

More Answers (1)

David Sanchez
David Sanchez on 17 Dec 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 Comment
Matt J
Matt J on 17 Dec 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

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!