我在计算自然对数。
在KDB中,我输入:log(11%10) - log(9%10)
给出结果0.1867787
问题是,这个结果是错误的。它应该返回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]]