问题描述:使用matlab,如何将数据一次从文本文件读出?如何将矩阵数据一次性写入文本文件?
批量读出文本中的数据常用的函数是importdata(),可以分别导入数据中的字符和数值数据,并可以跳过指定行等,importdata很强大,不仅可以操作文本数据,同样可以读取二进制数据,比如图像。简单介绍下其用法:
A = importdata(filename,delimiterIn,headerlinesIn)
函数按特定分隔符delimiterIn,跳过头headerlinesIn行读取数据,这两个参数默认可以缺省。
这里特别要讲一组方便的文本批量读写操作函数(Read/Write matrix from/to ASCII-delimited file),也即dlmread和dlmwrite,他们不用繁琐的fopen等也是很愉悦的。
1) dlmread
基本用法:
基本用法:
dlmwrite(filename,M) % 将矩阵M写入文件filename中
dlmwrite(filename,M,'-append') % 支持追加写
dlmwrite(___,Name,Value) % 支持额外的定义参数,比如精度'precision','%0.6f',分隔附'delimiter','\t'
dlmwrite(filename,M,delimiter) % 按特定分隔附写数据
dlmwrite(filename,M,delimiter,row,col) % 在文件中的指定行列开始写