matlab 数据存储成excel文件时的精度问题

您所在的位置:网站首页 如何设置excel精确位数 matlab 数据存储成excel文件时的精度问题

matlab 数据存储成excel文件时的精度问题

2023-12-27 18:00| 来源: 网络整理| 查看: 265

matlab 中数据存储为 excel 文件时的精度问题 matlab 中的精度

在使用 matlab 时,我们有时需要将数据从 matlab 中导出来保存为其他格式的文件。比如,常用 的 excel 文件。数据在 matlab 中都是用双精度存储的(默认情况下),但是显示的话则一般是到小数 点后四位,可以通过命令改变在 matlab 中的显示精度。

>> pi ans = 3.1416 >> format long >> pi ans = 3.141592653589793 >> 纯数字文件转换

如果需要存储的是纯数字,即双精度数据,那么存储到 excel 中精度不会改变。xlswrite('test.xls',pi); 2018-03-19-19-14-52

数字文本混合文件

但是,往往我们需要存储的数据中都包含有表头,也就是非纯数字的。这是一般是将原数据通过 cell 这种数据结构进行存储的。如果,没有对数字精度进行控制,而是直接转化为 cell 则在 excel 中的 精度就会收到损失。

title = {'weight'}; w = 1:100; w = w'; w = w/100; filename = 'test.xls'; data = [title;num2cell(w)]; xlswrite(filename,data);

可以看到,只到小数点后 两位:

2018-03-19-20-54-25

如果需要,更高的精度。那么则需要进行一些转换,主要是先将数字转换为字符,在将字符转换为 cell 数据。

title = {'weight'}; w = 1:100; w = w'; w = w/100; w = num2str(w,'%10.5e\n'); w = cellstr(w); filename = 'test.xls'; data = [title;w]; xlswrite(filename,data); winopen(filename)

结果如下: 2018-03-19-21-11-01

核心是使用 num2str() 进行精度转换。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3