我正在尝试根据其 X 和 Y 坐标的向量来计算对象的速度。最初,我使用了两个分量速度,然后使用勾股定理将它们加在一起。mdcx
和mdcy
分别是 x 和 y 坐标的向量。
for i=2:length(mdcx)
xdif(i)=mdcx(i-1)-mdcx(i);
end
xvel=(xdif/(1/60));
for i=2:length(mdcy)
ydif(i)=mdcy(i-1)-mdcy(i);
end
yvel=(ydif/(1/60));
v=hypot(xvel,yvel);
一位朋友提到这是多么愚蠢,我意识到有一种更好的方法:
d = hypot(mdcx,mdcy);
for i = 2:length(d)
v(i,1) = d(i)-d(i-1);
end
v = v/(1/60);
这一切都很好,除了这两种方法得到不同的答案,我不知道为什么。方法号的结果示例。1个是:
- 3.39676316513232
- 1.69387130561921
- 1.21490740387897
- 1.40071410359145
- 0.702281994643187
- 1.02703456611744
- 0.933380951166206
以及方法号中的等效部分。2:
- 3.00324976888577
- 1.41904819171419
- 0.473028796076438
- 0.772429851826608
- 0.126083801997687
- 1.02574816428026
- 0.541889676174012
我的问题
我在这里做错了什么?为什么这些没有得出相同的结果?这可能是一个愚蠢的错误,但我似乎无法弄清楚它来自哪里。我使用hypot
正确吗?
提前致谢!