Averages/Simple moving average: Difference between revisions
Content deleted Content added
Added a second example |
add julia example |
||
Line 1,529: | Line 1,529: | ||
Next number = 1, SMA_3 = 2, SMA_5 = 3</pre> |
Next number = 1, SMA_3 = 2, SMA_5 = 3</pre> |
||
=={{header|Julia}}== |
|||
A short version that buffers all numbers seen from the start. |
|||
<lang Julia>SMA(N) = let buffer = Number[] |
|||
x -> (push!(buffer, x) ; mean(buffer[max(1,end-N+1):end])) |
|||
end</lang> |
|||
A version with a buffer of size at most N. An initial value can be |
|||
provided for the buffer. |
|||
<lang Julia>SMA(N, buffer = Number[]) = |
|||
x -> begin |
|||
push!(buffer, x) |
|||
if length(buffer) == N+1 shift!(buffer) end |
|||
mean(buffer) |
|||
end</lang> |
|||
{{Out}} |
|||
<pre>julia> test = SMA(3) ; test(1), test(2), test(3), test(4), test(5) |
|||
(1.0,1.5,2.0,3.0,4.0)</pre> |
|||
=={{header|Lasso}}== |
=={{header|Lasso}}== |