我正在尝试绘制一个物体的标题.我有四个点向量 - 让我们称之为
mdex
mdey
(又名x1,y1
),thpx
thpy
(又名x2,y2
).我y
在x
(dy
和dx
)中找到了变化和变化,然后将其输入到atan2d
函数中.然后我浏览结果并将它们绘制到图表上.
图表上的比例从-180到180.当线路经过-180或180度时,我的问题就出现了.然后它"弹出"到图表的另一侧(即,181实际上是-179).
这是有问题的,因为当它确实没有时,它看起来像角度发生了巨大的变化 - 它只是'翻身'.另外,这会搞砸我的角速度计算,这是根据点之间的变化来计算的.最初,我只是尝试通过向低于0的所有值添加180来将图形转换为0-360比例.这不起作用.
这是图表,因此您可以更好地理解问题(图表是在我尝试0-360转换后).
我的问题
我想知道是否有一个不同的功能,我可以用来计算角度,这将给我一个不断增加的值,一种修改数据以便绘制得很好的方法,或者一种修改图形的方法,使它看起来很直观?
提前致谢!
我试图根据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);
Run Code Online (Sandbox Code Playgroud)
一位朋友提到这是多么愚蠢,我意识到有更好的方法:
d = hypot(mdcx,mdcy);
for i = 2:length(d)
v(i,1) = d(i)-d(i-1);
end
v = v/(1/60);
Run Code Online (Sandbox Code Playgroud)
这一切都很好,除了两种方法得到不同的答案,我无法弄清楚为什么.方法编号的结果示例.1是:
和方法编号的等效部分.2:
我的问题
我在这做错了什么?为什么这些结果不一样?这可能是一个愚蠢的错误,但我似乎无法弄清楚它的来源.我使用hypot
得当吗?
提前致谢!