1

我有三艘船,这些船的方向由V1,V2和给出V3

V1 = [0.7030  -0.7112]
V2 = [0.5099  -0.8602]
V3 = [-0.6799  -0.7333]

这是他们的图形可视化:

矢量图

如何判断V3是“接近” V2(如图)还是“离开” V2?我想检查 #3 号船是否是 #1 号船或 #2 号船的一部分,#3 号船是否从 #1 号船分支,然后V3“远离”V1和“朝向” V2(如图所示),在这种情况下,船只#3 是船 #1 的一部分。

如何在 MATLAB 中执行此操作?

4

2 回答 2

2

您所要做的就是取两个方向向量的点积s = V1.'*V3;

现在,如果答案是肯定的,那么两个向量会收敛(指向同一方向)。

如果答案是否定的,则两个向量发散(彼此远离)

当两个两个向量垂直时,点积为零,当它们平行时,等于1。

为什么?

因为点积表示两个向量之间夹角的余弦。

a · b = |a| |b| cos(θ)

当角度大于 π/2 时,余弦为负,向量指向彼此“远离”。

于 2013-06-05T15:11:56.030 回答
0

这是一种查看V1“接近”的方法V2

V1计算 的第一个坐标与线段之间的最小距离V2。对 的第二个坐标执行相同操作V1

如果第一个坐标比第二个坐标更远,则认为V2正在接近V1

于 2013-06-05T14:25:55.210 回答