Averages/Simple moving average: Difference between revisions

→‎{{header|Lua}}: variable period, f renamed to sum and simplified
(task description: Improve formatting and add related tasks box)
(→‎{{header|Lua}}: variable period, f renamed to sum and simplified)
Line 2,138:
=={{header|Lua}}==
 
<lang lua>dofunction sma(period)
local t = {}
function fsum(a, b, ...) if b then return f(a+b, ...) else return a end end
if a then return a+sum(...) else return 0 end
function average(n)
end
if #t == 10 then table.remove(t, 1) end
function average(n)
t[#t + 1] = n
if #t == 10period then table.remove(t, 1) end
return f(unpack(t)) / #t
t[#t + 1] = n
end
return fsum(unpack(t)) / #t
end
return average
end
 
for v=1,30 do print(average(v)) end</lang>
sma5 = sma(5)
sma10 = sma(10)
print("SMA 5")
for v=1,3015 do print(averagesma5(v)) end</lang>
print("\nSMA 10")
for v=1,15 do print(sma10(v)) end
</lang>
 
=={{header|Mathematica}} / {{header|Wolfram Language}}==
31

edits