【发布时间】:2019-09-17 10:12:48
【问题描述】:
我有一个复向量(cv)如下:
743.000000000000 + 1150.00000000000i
744.000000000000 + 1147.00000000000i
745.000000000000 + 1146.00000000000i
746.000000000000 + 1144.00000000000i
748.000000000000 + 1145.00000000000i
751.000000000000 + 1145.00000000000i
756.000000000000 + 1145.00000000000i
760.000000000000 + 1144.00000000000i
765.000000000000 + 1144.00000000000i
769.000000000000 + 1143.00000000000i
773.000000000000 + 1142.00000000000i
776.000000000000 + 1142.00000000000i
778.000000000000 + 1142.00000000000i
780.000000000000 + 1141.00000000000i
781.000000000000 + 1141.00000000000i
这些是绘制在 2D 空间中的 XY 坐标,我想计算向量中每个连续元素之间的成对角度,例如元素 1 和元素 2 之间、元素 2 和元素 3 之间的角度等。我尝试用 atan2(imag(cv),real(cv)) 和角度(cv) 计算它,但是我获得的弧度值不看起来是正确的,因为它们应该更接近 1.57/90 度:
0.997176848026074
0.995371676259612
0.994359765918558
0.992947720321641
0.992122189213936
0.990288012755825
0.987240833611188
0.984409230727208
0.981383002699897
0.978565844271060
0.975754418763486
0.973955062297999
0.972757930118131
0.971154674293130
0.970557623825132
如何最好地计算这些坐标之间的成对角度?
非常感谢您!
【问题讨论】:
-
无论如何,您的结果中都会出现
1-1.57/90。 -
与@Stewie Griffin 的答案非常相似,但您也可以使用:
ang = atand(diff(imag(cv))./diff(real(cv)))
标签: matlab geometry trigonometry complex-numbers