Using matlab to find vectors that are orthogonal to another vector.

239 visualizaciones (últimos 30 días)
Is there a way that matlab can be used to find a general solution for vectors that are orthogonal to another vector. (eg, (1,1) )? Without using matlab, i can get the general solution which is x =-y, but i cant find a way to do this using matlab.

Respuesta aceptada

Jan
Jan el 7 de Nov. de 2019
Editada: Jan el 7 de Nov. de 2019
Do you mean 2D vectors?
v = rand(1, 2) % Any test vector
vp = [-v(2), v(1)]
dot(v, vp) % Orthogonal means: dot product is 0
So "x=-y" is a part of the solution. Add "y=x" and you get one of the two perpendicular vectors. -vp is the other one.
  2 comentarios
Oghenetega Oguns
Oghenetega Oguns el 9 de Mayo de 2023
What about when the vector is 3D?
Thanks
David Goodmanson
David Goodmanson el 10 de Mayo de 2023
Editada: David Goodmanson el 10 de Mayo de 2023
Hi O^2,
n = 5;
v = rand(n,1)
% make sure that v is a row vector, just in case it was a column vector
v = v(:).'
% find a set of n-1 mutually orthogonal column vectors
% that are all perpendicular to v.
n = null(v)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by