首先,这是对这里发现的代码的改进:
//www.tianjin-qmedu.com/matlabcentral/fileexchange/47055-cell-array-to-csv-file-improved-cell2csv-m
这要归功于最初和之前的作者,因为他们的工作是建立在这个基础上的。
这个更新的函数:
-提高性能时,节省网络驱动器大幅(删除循环)
-与以前的cell2csv.m相比,在本地驱动器上偶尔提高性能
-改进了内置writecell()的性能
增加了设置输出csv文件访问权限的能力(写,追加等)
-增加了设置浮点精度的能力(旧的cell2csv通常限制在%。4f,而writecell总是%.15f)
以下是我在电脑上记录的一些时间:
%的输入
> > x =[{‘这个’,‘是’,‘‘,‘细胞’,‘时间’,‘测试’。};num2cell([(1:5),兰德(50000 5)])];
网络:
%比较写单元格
> >抽搐;cell2csv (' new_cell2csv.csv ' x ' % .15f ');toc
运行时间为20.277467秒。
> >抽搐;writecell (x,“writecell.csv”);toc
运行时间为20.393940秒。
%比较旧的cell2csv
> >抽搐;cell2csv (new_cell2csv.csv, x);toc
运行时间为19.339022秒。
> >抽搐;cell2csv (old_cell2csv.csv, x);toc
运行时间为123.579863秒。
在本地驱动器:
%比较写单元格
> >抽搐;cell2csv (' new_cell2csv.csv ' x ' % .15f ');toc
运行时间为18.165537秒。
> >抽搐;writecell (x,“writecell.csv”);toc
运行时间为21.017945秒。
%比较旧的cell2csv
> >抽搐;cell2csv (new_cell2csv.csv, x);toc
运行时间为17.986039秒。
> >抽搐;cell2csv (old_cell2csv.csv, x);toc
运行时间为14.386261秒。
总的来说,这是一场胜利!
引用作为
gwoo(2021)。更快的细胞阵列到csv文件[更多改进的cell2csv.m](//www.tianjin-qmedu.com/matlabcentral/fileexchange/73240-faster-cell-array-to-csv-file-more-improved-cell2csv-m), MATLAB中央文件交换。检索.