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) {
Math.atan2(
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: -25.24 degrees
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>