Averages/Mean angle: Difference between revisions
Content added Content deleted
(→{{header|Lua}}: Fixed spacing) |
m (→{{header|Sidef}}: updated code and output) |
||
Line 1,869: | Line 1,869: | ||
=={{header|Sidef}}== |
=={{header|Sidef}}== |
||
<lang ruby>func mean_angle(angles) { |
<lang ruby>func mean_angle(angles) { |
||
atan2( |
|||
Math.avg(angles.map{ .deg2rad.sin }...), |
Math.avg(angles.map{ .deg2rad.sin }...), |
||
Math.avg(angles.map{ .deg2rad.cos }...), |
Math.avg(angles.map{ .deg2rad.cos }...), |
||
) -> rad2deg |
) -> rad2deg |
||
} |
} |
||
[[350,10], [90,180,270,360], [10,20,30]].each { |angles| |
[[350,10], [90,180,270,360], [10,20,30]].each { |angles| |
||
say "The mean angle of #{angles.dump} is: #{ '%.2f' % mean_angle(angles)} degrees" |
say "The mean angle of #{angles.dump} is: #{ '%.2f' % mean_angle(angles)} degrees" |
||
}</lang> |
}</lang> |
||
{{out}} |
{{out}} |
||
<pre> |
<pre> |
||
The mean angle of [350, 10] is: 0.00 degrees |
The mean angle of [350, 10] is: 0.00 degrees |
||
The mean angle of [90, 180, 270, 360] is: - |
The mean angle of [90, 180, 270, 360] is: -90.00 degrees |
||
The mean angle of [10, 20, 30] is: 20.00 degrees |
The mean angle of [10, 20, 30] is: 20.00 degrees |
||
</pre> |
</pre> |