如何计算 KDB 中的对数?

How do I calculate the logarithm in KDB?

我正在尝试计算自然对数。

在 KDB 中,我输入:

log(11%10) - log(9%10)

结果为0.1867787

问题是,这个结果是错误的。它应该 return 0.2006707。 Wolfram Alpha 证实了这个答案,只需在 KDB 中取 log(11%9)(通过对数规则)。

我做错了什么?

您不使用 ( ) 作为函数的参数,而是使用 [ ],所以这样可行:

q)log[11%10] - log[9%10]
0.2006707

q 是从右到左计算的,对于单参数函数,您甚至不需要使用 [ ]。所以

log[9%10]

等同于

log 9%10

考虑到所有这些,您最初的尝试等同于

log[(11%10) - log[9%10]]