Averages/Simple moving average: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: removedf a space) |
(add BQN) |
||
Line 480: | Line 480: | ||
Number = 1 SMA3 = 2 SMA5 = 3 |
Number = 1 SMA3 = 2 SMA5 = 3 |
||
</pre> |
</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}}== |
=={{header|Bracmat}}== |