MATLAB文件各种操作方法.docx
- 文档编号:26574527
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:10
- 大小:18.27KB
MATLAB文件各种操作方法.docx
《MATLAB文件各种操作方法.docx》由会员分享,可在线阅读,更多相关《MATLAB文件各种操作方法.docx(10页珍藏版)》请在冰豆网上搜索。
MATLAB文件各种操作方法
文件的打开和关闭
文件的打开
fopen('filename','mode')
mode格式有:
‘r’:
只读方式打开文件(默认的方式),该文件必须已存在。
‘r+’:
读写方式打开文件,打开后先读后写。
该文件必须已存在。
‘w’:
打开后写入数据。
该文件已存在则更新;不存在则创建。
‘w+’:
读写方式打开文件。
先读后写。
该文件已存在则更新;不存在则创建。
‘a’:
在打开的文件末端添加数据。
文件不存在则创建。
‘a+’:
打开文件后,先读入数据再添加数据。
文件不存在则创建。
如果rt表示该文件以文本方式打开,如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。
Fopen函数两个返回值:
1、一个是返回一个文件标识(fileIdentifier),它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。
(如果返回的文件标识是–1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限);
2、另一个返回值就是message,用于返回无法打开文件的原因;
例:
1-1
[f,message]=fopen('fileexam1','r')
iff==-1
disp(message);%显示错误信息
end
(若文件fileexam1不存在,则显示如下信息。
Cannotopenpermissionsmemory)
例:
1-2
[f,message]=fopen('fileexam2','r');
iff==-1
disp(message);%显示错误信息
else
disp(f);
end
若文件fileexam2存在,则返回f值。
文件的关闭
Fclose(f)
F为打开文件的标志,若若fclose函数返回值为0,则表示成功关闭f标志的文件;若返回值为–1,则表示无法成功关闭该文件。
(打开和关闭文件比较耗时,最好不要在循环体内使用文件)
若要一次关闭打开的所有文件,可以使用下面的命令:
fcloseall
文本数据
MATLAB自带的MAT文件为二进制文件,但为了便于和外部程序进行交换以及方便查看文件中的数据,也常常采用文本数据格式(数据采用ASCII码格式,可以表示字母和数字字符)与外界进行数据交换。
从文本文件中读取数据
1、使用导入模板来读取数据
2、使用函数来读取文本数据
函数
csvread
dlmread
fscanf
load
textread
数据类型
数值数据
数值数据
字母和数值
数值数据
字母和数值
分隔符
仅cooma
任何字符
任何字符
仅space
任何字符
返回值
1
1
1
1
多返回值
如:
A=load('');
3、读取有分隔符的ASCII数据文件
如果数据文件不使用空格符而是使用逗号或是其他符号作为分隔符,用户可以选择多个可用的导入数据函数。
最简单的便是使用函数dlmread。
例2-1
,
,0
A=dlmread('',',')
(分隔符只能选取单个字符,不能用字符串来作为分隔符)
4.使用文本头读取数值数据
要读取一个包含文本头的ASCII码数据文件,可以使用textread函数,并指定头行参数。
Textread既能处理有固定格式的文件,也可以处理无格式的文件,还可以对文件中每行数据按列逐个读取。
textread函数常见的调用方法有如下几种:
[A,B,C...]=textread('filename','format')
[A,B,C...]=textread('filename','format',N)
例2-2
num1num2num3num4
因为有文件头,要使用如下textread命令来读取文件中的数据。
>>[num1num2num3num4]=textread('','%f%f%f%f','headerlines',1)
执行结果如下:
num1=
num2=
num3=
num4=
5.读取字母数值混合的数据
例2-3
文件包含的混合的字母和数值如下:
JoegradeApass
susangradeDfail
如果想把4列数据全部读取出放在4个变量中,则使用如下命令:
>>[namegragradesanswer]=textread('','%s%s%f%s')
(textread函数按格式字符串中指定的格式处理文件中的某个数据项,并把值放在输出变量中。
输出变量的数目必须和格式字符串中指定的变换数目项匹配,在该例中,函数按格式字符串来读取文件)
若文件采用的分隔符不是空格,则必须使用函数textread,将该分隔符作为它的参数。
例如,若文件使用分号作为分隔符,则读入该文件需使用如下命令:
[namegragradesans]=textread('','%s%s%f%s','delimiter',';')
2文件的存储
文件存写函数
函数
csvwrite
diary
dlmwrite
fprintf
save
数据类型
数值数据
数值数据或单元阵列
数值数据
字母和数值数据
数值数据
分隔符
逗号
空格
任何字符
任何字符
制表符或空格符
1.存写有分隔符的ASCII码数据文件
若要将当前的MATLAB工作空间的一个或多个变量写到一个有分隔符的ASCII码文件中,可以使用save命令或dlmwrite函数。
在默认情况下,save命令是以MAT格式存写数据的。
例3-1
>>clearall;
>>x=rand(2,3);
>>savex-ascii;
结果为:
使用文件I/O函数
格式化写入文本数据
例3-2
创建一个2×2的魔方矩阵,然后打开一文件,写入数据。
>>clearall;
>>x=magic
(2);
>>fid=fopen('','w');
>>fprintf(fid,'%%\n',x);
>>fclose(fid);
>>x
x=
13
42
>>type
(fprintf函数存储的时候按行读取,然后按列存写)
控制文件位置指针
Fseekfrewind
设定指针位置重设指针到文件起始位置
Ftellfeof
获得指针位置测试指针是否在文件结束位置
1、fseek函数用法
fseek函数用于指定文件指针的位置,调用方式如下:
status=fseek(fid,offset,origin)
fid是指定的文件标识符。
offset为整数型变量,表示相对于指定位置需要的偏移字节数,正数表示向文件末尾偏移,负数表示向文件开头偏移。
Origin可以是特定字符串,也可以是整数,表示文件中的参考位置。
参考位置说明:
'bof'或者-1文件开头'cof'或者0文件中当前位置
'eof'或者1文件末尾
2、ftell函数用法
ftell函数用来获得当前文件指针的位置,调用方式如下:
position=ftell(fid)
fid是指定的文件标识符。
Position为返回值,表示当前指针的位置。
position是以相对于文件开头的字节数来表示的。
如果返回值为–1,表示未能成功调用。
这是可以通过调用feeeor(fid)的具体的错误信息。
3、frewind函数用法
frewind函数用来把文件指针重新复位到文件开头。
调用方式如下:
frewind(fid)
其中fid为指定的文件标识符,其作用和fseek(fid,0,-1)是等效的。
4、feof函数用法
feof函数用来判断是否到达文件末尾。
调用方式如下:
eofstat=feof(fid)
其中fid为指定的文件标识符。
eofstat是返回值,当到达文件末尾时,eofstat为1;否则为0。
例3-3
f=fopen('','r');
>>A=fscanf(f,'%g',[42])
A=
0
0
>>feof(f)
ans=
1
%c读取字符型变量,也可以指定多个字符,'%3c'
%s读取字符串变量
%d读取整数型变量
%f读取浮点数
%g读取双精度浮点数
3、fprintf函数功能
fprintf(fileID,format,A)
count=fprintf(...) fprintf写入返回数字的字节。
1、Format:
使用单引号的字符串,它描述了输出字段的格式。
可以包括下列组合:
百分号后跟一个转换字符,如'%s的为字符串'。
(1)转义字符
单引号
%%
百分比字符
\\
反斜杠
\1
报警
b
退格
\f
换页
\n
新行
\ṛ
回车
\t
水平制表符
\v
垂直制表
\xN
十六进制数N
\N
八进制数N
(2)数值类型字符
(3)字段宽度
最小的字符数进行打印。
可以是一个数字或一个星号(*)是指输入列表中的一个论据。
例如,输入列表('%12d,intmax)相当于('%*D',12,intmax)。
精确宽度
For%f,%e,or%E:
例如:
'%'打印为'圆周率'
For%gor%G
数位有效数字。
例如:
'%打印为PI''
(3)标志
行动
标志
例子
左对齐
'–'
%
打印符号字符(+或-)。
'+'
%+
插入前的价值空间。
''
%
垫零
'0'
%
修改选定的数字转换:
%o,%x,or%X,打印0,为0x或0X的前缀。
%f,%e,or%E,,打印精度小数点,即使是0。
为%g或%G号,请不要删除或尾随零小数点。
'#'
%#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 文件 各种 操作方法
![提示](https://static.bdocx.com/images/bang_tan.gif)