解决MATLAB读取CSV文件浮点数精度问题

环境:MATLAB R2017b RedHat Linux

问题描述:csv文件中的浮点数有效数字长达八位,当使用MATLAB中的readtable()函数后,里面的小数不论有效数字位数的长短只有4位小数,效果如下:


   使用最简单的readtable命令格式出现问题且函数参数没有修改保留有效数字位数的选项
   

查阅Mathworks的帮助中心,readtable()函数无修改保存有效数字位数的参数,声称生成table中的数据就是原始数据,百度和GPT都无法给出满意的答案。

问题出在哪呢?解决步骤如下:

①点击MATLAB界面左上角“Home(主页)”,找到齿轮图标点击“Preferences(预设项)”;


   需要点击的地方已经红色高亮
 

②在打开的选项卡中点击“Variables(变量)”,在“Format(格式)”下的下拉框改为“long”。点击OK关闭选项卡。


最后再次读取csv文件,打开table查看结果:


所有的浮点数均保留至15位小数,暂时应该是够用了。

写在最后:在写此文时查阅资料时,有一种说法是这里的格式只是显示格式,故做实验如下。


现在看来似乎也无伤大雅,readtable()函数读取的是原始数据这句话也并没有错。

当然,命令行中的结果也有显示格式的区别,默认只显示4位小数,可做如下修改:

最后的最后,顺带总结下MATLAB的数据输出格式:



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空