Smallest change for a please

Hi, I have a data for angle in degrees: deg=[10 10 270], and would like to calculate smallest change ie ans=(0 0 80)

2 个评论

Smallest change in angle between what and what?
Aswas
Aswas 2015-10-11
编辑:Aswas 2015-10-11
10, 10 and 270 are true degrees (ie direction of a pointer), so at 1st min was pointing 10deg, 2nd min pointing 10deg, 3rd min pointing 270deg. I'd like my answer to display 0deg for first min, 0deg for second minute (diff btw 10 and 10) and 80deg (diff btw 10 and 270 deg)for 3rd min(not 260 degrees)

请先登录,再进行评论。

 采纳的回答

angles = [10 10 270];
changes = mod(diff(angle), 180)

更多回答(1 个)

Walter Roberson
Walter Roberson 2015-10-11

1 个投票

80 degrees is not the difference between 10 and 270. 100 degrees is the difference between 10 and 270. You have to pass down through the 10 to 0 degrees and then travel another 90 degrees to reach -90 degrees = 270 degrees, and that is a total of 100 degrees.

4 个评论

Thanks Walter, so how can I get [ 0 100] for my answer please?
deg = [10 10 270];
t = abs(diff([0 deg]));
result = min(t, 360-t)
I had added the 0 because initially you wanted 3 outputs for 3 inputs.
Thanks again.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by