gpt4 book ai didi

matlab - 如何基于两个几乎垂直的向量创建正交基?

转载 作者:太空宇宙 更新时间:2023-11-03 20:30:46 24 4
gpt4 key购买 nike

我正在尝试基于两个“几乎”垂直的向量创建一个正交坐标系,这两个向量是从医学图像中推导出来的。我有两个向量,例如:

Z=[-1.02,1.53,-1.63];
Y=[2.39,-1.39,-2.8];

几乎垂直,因为它们的内积等于 5e-4。

然后我找到他们的叉积来创建我的第三个基础:

X=cross(Y,Z);

即使这第三个向量也不完全正交于 ZY,因为它们的内积大约为 -15 和 -16,但我猜这是几乎为零。为了使用这组向量作为局部坐标系的正交基础,我假设它们应该几乎完全垂直。我首先想到我可以通过将我的向量四舍五入到更少的小数来做到这一点,但没有帮助。我想我需要找到一种方法来稍微改变我的初始向量,使它们更垂直,但我不知道该怎么做。

如果有任何建议,我将不胜感激。

最佳答案

正如上面所指出的,Gram-Schmidt 是正确的。

基本上,您想从 Y 中减去 Y 在 Z 方向上的分量(注意:您也可以对 Z 而不是 Y 进行操作)。

Y 在 Z 方向的分量由下式给出:

   dot(Y,Z)*Z/(norm(Z)^2)

(Y 到 Z 的投影)

请注意,如果 Y 与 Z 正交,则为 0。

所以:

   Y = Y - dot(Y,Z)*Z/(norm(Z)^2)

Z保持不变。

关于matlab - 如何基于两个几乎垂直的向量创建正交基?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14638976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com