环境: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的数据输出格式:
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删