Making heading data continuous (i.e. instead of 359 --> 0 degrees make it 359 --> 360 degrees)

8 ビュー (過去 30 日間)
I have a spreadsheet containing data about a vehicle's speed and heading against time. The spreadsheet is attached. When plotting the heading of the vehicle against time, I get this plot:
As can be seen, the near-vertical lines are mostly because the vehicle's heading changes from 359 degrees to 0 degrees (and vice versa) which makes the bearing look discontinuous. How could I make it such that the vehicle heading data reads, say, 360 degrees, 361 degrees, etc? I need it as it's easier for me to then calculate through what angle a vehicle has turned.
Please let me know if you need any clarification.
To get the plot above, my code is:
A = readmatrix("20181026075227_947BE7249B00.csv");
%find initial time, since time is in UNIX millisecond format.
%column 1 is the time, column 6 is the bearing
t0 = A(1,1);
plot((A(:, 1)-t0)/1000, A(:, 6), 'LineWidth', 3)
ylabel("Heading (degrees)")
xlabel("Time from start (s)")

採用された回答

Chunru
Chunru 2021 年 5 月 12 日
Try this:
plot(rad2deg(unwrap(deg2rad(BE7249B00{:, 6})))); % The data is 6th column
  1 件のコメント
Amritz Ansara
Amritz Ansara 2021 年 5 月 12 日
This works well for me and is what I had in mind originally - thank you!

サインインしてコメントする。

その他の回答 (1 件)

Geoff Hayes
Geoff Hayes 2021 年 5 月 12 日
Amritz - perhaps a polarplot might be useful:
polarplot(headingData*pi/180.0, (A(:, 1)-t0)/1000);
  1 件のコメント
Amritz Ansara
Amritz Ansara 2021 年 5 月 12 日
While this wasn't in my mind originally, no doubt I'll find this useful in the future. It's also quite informative too. Thank you!

サインインしてコメントする。

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

タグ

製品


リリース

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by