最适合matlab的数据格式除了matlab的原生格式dat,我个人觉得.csv格式读取速度最快。
读写csv格式用dlmread,dlmwrite非常快。但是matlab 2019已经快放弃dlmread命令。新的替代命令是readmatrix。
readmatrix 的基本格式是
A = readmatrix(filename)
A = readmatrix(filename,opts)
A = readmatrix(___,Name,Value)
opts参数对于这个命令比较重要,在处理excel文件时比较有效。在使用该命令的时候可以采用预览模式
opts = detectImportOptions(‘airlinesmall_subset.xlsx’);
preview(‘airlinesmall_subset.xlsx’,opts)
然后进一步取数
opts.Sheet = '2007'; opts.SelectedVariableNames = [1:5]; opts.DataRange = '2:11'; M = readmatrix('airlinesmall_subset.xlsx',opts)
以上特别针对excel文件,对于普通txt, csv 文件,使用range 参数直接调整
data=readmatrix(filename,’range’,’2:9′);
例如此命令可以取表格中的第2到第9行数据。关于range的参数设置可以参考matlab的doc,里面有具体参数解释,非常详细。
readmatrix相比较于dlmread 最好的一点就是readmatrix可以读取含有文本的数据,这对于处理含有表头的原始测量文件非常有效。