Matlab读写矩阵到文本文件

来源:互联网 发布:软件项目实施方案模板 编辑:程序博客网 时间:2024/05/18 04:51

问题描述:使用matlab,如何将数据一次从文本文件读出?如何将矩阵数据一次性写入文本文件?


    批量读出文本中的数据常用的函数是importdata(),可以分别导入数据中的字符和数值数据,并可以跳过指定行等,importdata很强大,不仅可以操作文本数据,同样可以读取二进制数据,比如图像。简单介绍下其用法:

A = importdata(filename,delimiterIn,headerlinesIn)

函数按特定分隔符delimiterIn,跳过头headerlinesIn行读取数据,这两个参数默认可以缺省。

    这里特别要讲一组方便的文本批量读写操作函数(Read/Write matrix from/to ASCII-delimited file),也即dlmread和dlmwrite,他们不用繁琐的fopen等也是很愉悦的。

1) dlmread

基本用法:

M = dlmread(filename) % 直接读取一个数值文本文件
M = dlmread(filename,delimiter) % 按特定分隔符读取一个文件
M = dlmread(filename,delimiter,R1,C1) % 从指定行列读取文件,通常可以用这种方式提过字符行
M = dlmread(filename,delimiter,[R1 C1 R2 C2]) % 读取指定行列区间的数据

2) dlmwrite

基本用法:

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) % 在文件中的指定行列开始写

原创粉丝点击