gpt4 book ai didi

python - Matlab 和 Python 中的 float 有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 15:42:47 27 4
gpt4 key购买 nike

我正在将一些数字从 matlab “mat” 文件版本 5 导入到 python 中,它们具有不同的精度。

这是python代码:

output_data = numpy.matlab.loadmat( ( path ), mat_dtype=True )

print(output_data)

Python3 output: -0.0030967733388058967-> 20 numbers or digits
Matlab output: -0.00309677333880590 -> 18 " "

为什么python和matlab会有不同的精度?

最佳答案

默认情况下,MATLAB 和 Python/Numpy 使用相同的浮点表示,64 位 float ( double )。它的存储方式由您的 CPU 决定,而不是由程序决定(程序基本上可以在 32、64 和 80 位 float 之间进行选择,这是普通 PC 中的 CPU 可以理解的表示形式)。

您看到的区别在于程序选择显示数字的方式。内部表示是相同的。

如果显示的这些数字之间的差异对您的应用程序很重要,您做错了。根据定义,浮点计算是不精确的,您不能指望最后几位有意义。

关于python - Matlab 和 Python 中的 float 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51650973/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com