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

241 ビュー (過去 30 日間)
Lee Ming De
Lee Ming De 2019 年 11 月 7 日
編集済み: David Goodmanson 2023 年 5 月 10 日
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.

採用された回答

Jan
Jan 2019 年 11 月 7 日
編集済み: Jan 2019 年 11 月 7 日
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 件のコメント
Oghenetega Oguns
Oghenetega Oguns 2023 年 5 月 9 日
What about when the vector is 3D?
Thanks
David Goodmanson
David Goodmanson 2023 年 5 月 10 日
編集済み: David Goodmanson 2023 年 5 月 10 日
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)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB Coder についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by