matlab 数据存储成excel文件时的精度问题
2018-03-19 21:13
295 查看
matlab 中数据存储为 excel 文件时的精度问题
matlab 中的精度
在使用 matlab 时,我们有时需要将数据从 matlab 中导出来保存为其他格式的文件。比如,常用的 excel 文件。数据在 matlab 中都是用双精度存储的(默认情况下),但是显示的话则一般是到小数
点后四位,可以通过命令改变在 matlab 中的显示精度。
>> pi ans = 3.1416
>> format long >> pi ans = 3.141592653589793 >>
纯数字文件转换
如果需要存储的是纯数字,即双精度数据,那么存储到 excel 中精度不会改变。xlswrite('test.xls',pi);
数字文本混合文件
但是,往往我们需要存储的数据中都包含有表头,也就是非纯数字的。这是一般是将原数据通过 cell这种数据结构进行存储的。如果,没有对数字精度进行控制,而是直接转化为 cell 则在 excel 中的
精度就会收到损失。
title = {'weight'}; w = 1:100; w = w'; w = w/100; filename = 'test.xls'; data = [title;num2cell(w)]; xlswrite(filename,data);
可以看到,只到小数点后 两位:
如果需要,更高的精度。那么则需要进行一些转换,主要是先将数字转换为字符,在将字符转换为 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)
结果如下:
核心是使用 num2str() 进行精度转换。
4000
相关文章推荐
- 如何处理ODBC中EXCEL驱动读取EXCEL文件中字段长度大于255字符时出现的"数据截断"问题.
- 数据导出成Excel文件,关于字符集的问题
- 于Excel文件上传读取数据的问题
- C# 读取EXCEL文件出现数据丢失问题
- Ado.Net操作Excel文件数据常见问题及解决
- C# 读取EXCEL文件出现数据丢失问题
- [原创]大量数据导出为Excel文件的问题解决(C#,ASP.NET)
- Ado.Net操作Excel文件数据常见问题及解决
- 数据库中导出CSV文件与EXCEL文件数据对比可能遇到的问题与解决方法
- 关于.NET读取Excel文件到DataSet后数据丢失问题
- Sql存储查询数据导出Excel文件(注意:有几百万条数据)
- 于Excel文件上传读取数据的问题
- C#下把txt文件数据读进sql server中存储所遇到的乱码问题
- C# 读取EXCEL文件出现数据丢失问题
- C# 读取EXCEL文件出现数据丢失问题
- asp.net<Web版> ---GridView 数据导出到excel表,系列问题<一>---导出的Excel文件格式与文件扩展名指定的格式不一致
- ADO 读取Excel文件数据, 丢失数据或数据错误问题。
- C# 读取EXCEL文件出现数据丢失问题
- Ado.Net操作Excel文件数据常见问题及解决
- ADO 读取Excel文件数据, 丢失数据或数据错误问题。