KDB - 读取浮点数时出现问题

kdb - issue with reading floating numbers

提问人:jeonw 提问时间:7/14/2022 最后编辑:jeonw 更新时间:4/25/2023 访问量:215

问:

我正在从平面文件中读取协方差数据。因此,无法完全读取浮点数会导致 covarince 不满足正半定要求。

例如,这是原始文本的输入之一: “-0.581050672”——不,实际上原始文本是这样的:-5.801050672E-01

当我将其读入 kdb 并使用 F 进行转换时,结果为 -0.50810507。当我对所有人执行此操作并检查协方差时,不幸的是,它不满足 PSD 约束。我一直在做的其他技巧是在身份矩阵中添加小噪音......

除了这个技巧之外,有没有办法将上述数据读入正确的浮点数,最多第 9 位?我尝试了\P和.Q.f,但这些似乎只适用于显示。

谢谢

KDB Q

评论

1赞 Matt Moore 7/14/2022
我认为在加载数据的方式上一定发生了其他事情。字符串应该可以正常转换。a:"F"$"-0.581050672" a -0.5810507
0赞 Matt Moore 7/14/2022
\P 纯粹用于显示,kdb 存储完整的浮点数。.Q.f[9;a] "-0.581050672"
0赞 jeonw 7/14/2022
编辑了问题。数据以 E-01 的科学记数法提供
0赞 jeonw 7/14/2022
你知道吗,其实你是对的。我认为这与kdb无关。

答:

0赞 jeonw 7/14/2022 #1

对不起,这似乎不是 kdb 问题。将这些数据导出到不同的软件中,在此过程中丢失了浮点。谢谢你的指点。