首页 > 解决方案 > KDB 中 ema 函数的伪代码翻译是什么?

问题描述

我试图了解ema.

当我调用它时,它会返回 source in k

q)ema

k){(*y)(1f-x)\x*y}

q)ema[0.2;til 5]

0 0.2 0.56 1.048 1.6384

到现在为止还挺好。

当我尝试直接调用它时,它似乎不喜欢*. 我究竟做错了什么?

q){(*y)(1f-x)\x*y}[0.2;til 5]
'*
  [0]  {(*y)(1f-x)\x*y}[0.2;til 5]
         ^

如何k用英语/伪代码描述这个短语?

标签: kdb

解决方案


k)您可以通过在命令提示符中添加前缀来运行 k 代码

q)k){(*y)(1f-x)\x*y}[0.2;0 1 2 3 4]
0 0.2 0.56 1.048 1.6384

或者通过将字符串传递给“k”。这允许您在语句中间执行此操作。你将不得不逃避反斜杠

q)"k" "{(*y)(1f-x)\\x*y}[0.2;0 1 2 3 4]"
0 0.2 0.56 1.048 1.6384

推荐阅读