首页 > 解决方案 > 如何计算 KDB 中的对数?

问题描述

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

在 KDB 中,我输入:

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

这给出了一个结果0.1867787

问题是,这个结果是错误的。它应该返回0.2006707。这个答案得到了 Wolfram Alpha 的证实,并且仅仅通过接受log(11%9)KDB(通过对数规则)。

我究竟做错了什么?

标签: kdb

解决方案


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

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

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

log[9%10]

相当于

log 9%10

考虑到所有这些,您最初的尝试相当于

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

推荐阅读