文件基本操作(matlab)
2017-05-04 23:00
211 查看
(1) 文件的打开和关闭
打开文件格式:[fid,errmsg] = fopen(filename,permission)
参数说明: fid存储文件句柄值,大于0则说明文件打开成功;
errmsg: 打开文件不成功返回的错误信息;
filename: 文件名;
permission: 文件打开方式(r, w, a, r+, w+, a+)
关闭文件格式:fclose('fid') 或者fclose('all')
(2) 文本文件的读写
读文本文件格式:[A, count] = fscanf(fid,format,size)
参数说明:A用于存放读取的数据,count返回读取数据的元素个数,fid为文件句柄,
format用于控制读取的数据格式,size为可选项,决定矩阵A的排列方式,
比如:N(读取N个元素到一个列向量),inf(读取整个文件),[M,N](读数据到M,N的矩阵中,按列存放
写文本文件格式:fprintf(fid,format,A);
对于常用的数据处理格式即a[m]
, m代表时间序列长度,n代表道数,举个例子说明一下,一个采样128,道数10的数据格式为seis[128][10];
由于不同语言如c(按行优先存储,先存11,21,31,m1,12,22...)和matlab(按列优先存储,先存11,12,13,14,1n,21,22,...)写文件的方式不同,经常
碰到数据文件的不同读取方式,
matlab直接的存储方式为:
第一种形如这样的数据格式,读取和写较为直接。
第二种形如这样的数据文件
至于保存为那种样式并不重要,会读会写,不混就行。
(3)二进制文件的读写
二进制文件的读:[a,count] = fread(fid,size,precision,skip)
参数说明:a用于存放数据,count返回所读取的数据元素个数,fid为文件句柄,size用于指定读入数据的元素数量,取值与fscanf函数相同,省略代表读取整个文件内容;
skip称作循环因子,可以周期性地跳过一些数据,使得读取数据具有选择性,但用得不算多。
简单补充precision为指定读写数据类型,
char, uchar
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,long,ulong,short,ushort;
float,float32,float64,double
二进制文件的写:count = fwrite(fid,a,precision)
(4)数据文件定位
定位格式:fseek(fid,offset,origin)
参数说明:offset表示文件位置指针相对移动的字节数,若为正整数向文件尾方向移动,负整数向文件头方向移动;
origin表示位置指针移动的参照位置:
cof或0: 文件的当前位置;
bof或-1: 文件的开始位置;
eof或1:文件的结束位置。
ftell: 查询文件指针的当前位置,格式为position = ftell(fid)
返回值为从文件头到指针当前的字节数。
feof: 用来判断当前的文件位置是否到达尾部,调用格式: status = feof(fid)
返回1表示当前文件位置指针指向末尾,否则不是;
ferror用来查询最近一次输入或输出中的出错信息,调用格式:[message,errnum] = ferror(fid)
message返回出错消息,errnum返回错误信息
打开文件格式:[fid,errmsg] = fopen(filename,permission)
参数说明: fid存储文件句柄值,大于0则说明文件打开成功;
errmsg: 打开文件不成功返回的错误信息;
filename: 文件名;
permission: 文件打开方式(r, w, a, r+, w+, a+)
关闭文件格式:fclose('fid') 或者fclose('all')
(2) 文本文件的读写
读文本文件格式:[A, count] = fscanf(fid,format,size)
参数说明:A用于存放读取的数据,count返回读取数据的元素个数,fid为文件句柄,
format用于控制读取的数据格式,size为可选项,决定矩阵A的排列方式,
比如:N(读取N个元素到一个列向量),inf(读取整个文件),[M,N](读数据到M,N的矩阵中,按列存放
写文本文件格式:fprintf(fid,format,A);
对于常用的数据处理格式即a[m]
, m代表时间序列长度,n代表道数,举个例子说明一下,一个采样128,道数10的数据格式为seis[128][10];
由于不同语言如c(按行优先存储,先存11,21,31,m1,12,22...)和matlab(按列优先存储,先存11,12,13,14,1n,21,22,...)写文件的方式不同,经常
碰到数据文件的不同读取方式,
matlab直接的存储方式为:
第一种形如这样的数据格式,读取和写较为直接。
第二种形如这样的数据文件
至于保存为那种样式并不重要,会读会写,不混就行。
(3)二进制文件的读写
二进制文件的读:[a,count] = fread(fid,size,precision,skip)
参数说明:a用于存放数据,count返回所读取的数据元素个数,fid为文件句柄,size用于指定读入数据的元素数量,取值与fscanf函数相同,省略代表读取整个文件内容;
skip称作循环因子,可以周期性地跳过一些数据,使得读取数据具有选择性,但用得不算多。
简单补充precision为指定读写数据类型,
char, uchar
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,long,ulong,short,ushort;
float,float32,float64,double
二进制文件的写:count = fwrite(fid,a,precision)
(4)数据文件定位
定位格式:fseek(fid,offset,origin)
参数说明:offset表示文件位置指针相对移动的字节数,若为正整数向文件尾方向移动,负整数向文件头方向移动;
origin表示位置指针移动的参照位置:
cof或0: 文件的当前位置;
bof或-1: 文件的开始位置;
eof或1:文件的结束位置。
ftell: 查询文件指针的当前位置,格式为position = ftell(fid)
返回值为从文件头到指针当前的字节数。
feof: 用来判断当前的文件位置是否到达尾部,调用格式: status = feof(fid)
返回1表示当前文件位置指针指向末尾,否则不是;
ferror用来查询最近一次输入或输出中的出错信息,调用格式:[message,errnum] = ferror(fid)
message返回出错消息,errnum返回错误信息
相关文章推荐
- MATLAB基本操作(一):MATLAB中变量的文件存储
- matlab基本文件操作
- MATLAB关于文件操作的一些基本用法
- Matlab的基本文件操作
- MATLAB基本操作(一):MATLAB中变量的文件存储
- MATLAB基本操作(七):有关文件路径的几个函数在编程中的作用
- MATLAB基本操作(七):有关文件路径的几个函数在编程中的作用
- 文件的基本操作
- MATLAB文件操作(1)
- matlab文件操作及读txt文件
- UNIX 文件系统基本操作
- javascript之文件基本操作
- matlab文件操作及读txt文件
- UNIX 文件系统基本操作
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C++基本文件操作
- Linux命令-基本操作及文件操作常用命令--详解Linux入门到精通系列
- .net操作文件的基本方法总结
- 文件的一些基本操作
- ◎Vbs脚本编程简明教程之十一 ——FSO中文件的基本操作