Averages/Mean angle: Difference between revisions
Content deleted Content added
Add Elixir Solution |
|||
Line 342:
</lang>
=={{header|Elixir}}==
<lang Elixir>
defmodule MeanAngle do
def mean_angle(angles) do
rad_angles = Enum.map(angles, °_to_rad/1)
sines = rad_angles |> Enum.map(&:math.sin/1) |> Enum.sum
cosines = rad_angles |> Enum.map(&:math.cos/1) |> Enum.sum
rad_to_deg(:math.atan2(sines, cosines))
end
defp deg_to_rad(a) do
(:math.pi/180) * a
end
defp rad_to_deg(a) do
(180/:math.pi) * a
end
end
IO.inspect MeanAngle.mean_angle([10, 350])
IO.inspect MeanAngle.mean_angle([90, 180, 270, 360])
IO.inspect MeanAngle.mean_angle([10, 20, 30])
</lang>
{{out}}
<pre>
-1.614809932057922e-15
-90.0
19.999999999999996
</pre>
=={{header|Erlang}}==
|