Averages/Mean angle: Difference between revisions

m
m (Automated syntax highlighting fixup (second round - minor fixes))
m (→‎{{header|Wren}}: Minor tidy)
 
(4 intermediate revisions by 4 users not shown)
Line 418:
=={{header|Delphi}}==
See [[#Pascal]].
=={{header|EasyLang}}==
{{trans|C}}
<syntaxhighlight lang=easylang>
func mean ang[] .
for ang in ang[]
x += cos ang
y += sin ang
.
return atan2 (y / len ang[]) (x / len ang[])
.
print mean [ 350 10 ]
print mean [ 90 180 270 360 ]
print mean [ 10 20 30 ]
</syntaxhighlight>
 
=={{header|EchoLisp}}==
<syntaxhighlight lang="scheme">
Line 1,176 ⟶ 1,191:
mean_angle([10, 20, 30])
ans = 20.000
</pre>
 
=={{header|MiniScript}}==
<syntaxhighlight lang="miniscript">
atan2 = function(y, x)
return 2 * atan((sqrt(x^2 + y^2) - x) / y)
end function
 
deg2rad = function(x); return x * pi / 180; end function
rad2deg = function(x); return x * 180 / pi; end function
 
meanAngle = function(angles)
xsum = 0; ysum = 0
for angle in angles
xsum += cos(deg2rad(angle))
ysum += sin(deg2rad(angle))
end for
return rad2deg(atan2(ysum / angles.len, xsum / angles.len))
end function
 
manyAngledOnes = [[350, 10], [90, 180, 270, 360], [10, 20, 30]]
 
for angles in manyAngledOnes
mean = meanAngle(angles)
print ["Mean of", angles, "is", mean].join(" ")
end for
</syntaxhighlight>
{{out}}
<pre>
Mean of [350, 10] is 0
Mean of [90, 180, 270, 360] is -90
Mean of [10, 20, 30] is 20.0
</pre>
 
Line 1,925 ⟶ 1,972:
-90
20.000000
</pre>
 
=={{header|RPL}}==
≪ DEG → angles
≪ 0 1 angles SIZE '''FOR''' j
1 angles j GET R→C P→R + '''NEXT'''
angles SIZE / ARG
≫ ≫ ''''MEANG'''' STO
{{in}}
<pre>
{ 350 10 } MEANG
{ 90 180 270 360 } MEANG
{ 10 20 30 } MEANG
</pre>
{{out}}
<pre>
3: 0
2: -90
1: 20
</pre>
 
Line 2,263 ⟶ 2,329:
20</pre>
 
=={{header|V (Vlang)}}==
{{trans|go}}
<syntaxhighlight lang="v (vlang)">import math
fn mean_angle(deg []f64) f64 {
Line 2,296 ⟶ 2,362:
=={{header|Wren}}==
{{libheader|Wren-fmt}}
<syntaxhighlight lang="ecmascriptwren">import "./fmt" for Fmt
 
var meanAngle = Fn.new { |angles|
9,485

edits