Averages/Simple moving average: Difference between revisions

add BQN
m (→‎{{header|Phix}}: removedf a space)
(add BQN)
Line 480:
Number = 1 SMA3 = 2 SMA5 = 3
</pre>
 
=={{header|BQN}}==
 
<code>SMA</code> takes moving average of a list, given the whole array.
 
<code>SMA2</code> returns a stateful function which can be run on individual numbers of a stream.
 
<pre>SMA ← {(+´÷≠)¨(1↓𝕨↑↑𝕩)∾<˘𝕨↕𝕩}
 
v ← (⊢∾⌽)1+↕5
•Show 5 SMA v
 
SMA2 ← {
𝕊 size:
nums ← ⟨⟩
sum ← 0
{
nums ∾↩ 𝕩
gb ← ((≠nums)>size)◶0‿{𝕊: a←⊑nums, nums↓˜↩1, a}@
sum +↩ 𝕩 - gb
sum ÷ ≠nums
}
}
 
fun ← SMA2 5
Fun¨ v</pre>
<pre>⟨ 1 1.5 2 2.5 3 3.8 4.2 4.2 3.8 3 ⟩
⟨ 1 1.5 2 2.5 3 3.8 4.2 4.2 3.8 3 ⟩</pre>
 
[https://mlochbaum.github.io/BQN/try.html#code=U01BIOKGkCB7KCvCtMO34omgKcKoKDHihpPwnZWo4oaR4oaR8J2VqSniiL48y5jwnZWo4oaV8J2VqX0KCnYg4oaQICjiiqLiiL7ijL0pMSvihpU1CuKAolNob3cgNSBTTUEgdgoKU01BMiDihpAgewogIPCdlYogc2l6ZToKICBudW1zIOKGkCDin6jin6kKICBzdW0g4oaQIDAKICB7CiAgICBudW1zIOKIvuKGqSDwnZWpCiAgICBnYiDihpAgKCjiiaBudW1zKT5zaXplKeKXtjDigL978J2VijogYeKGkOKKkW51bXMsIG51bXPihpPLnOKGqTEsIGF9QAogICAgc3VtICvihqkg8J2VqSAtIGdiCiAgICBzdW0gw7cg4omgbnVtcwogIH0KfQoKZnVuIOKGkCBTTUEyIDUKRnVuwqggdg== Try It!]
 
=={{header|Bracmat}}==
236

edits