matlab的I/O函数

2020-08-24 教育 77阅读
一些低级的I/O处理及相关介绍
函数 功能
fclose 关闭打开的文件
feof 判断是否为文件结尾
ferror 文件输入输出中的错误查找
fgetl 读入一行,忽略换行符
fgets 读入一行,直到换行符
fopen 打开文件,或者获取打开文件的信息
fprintf 格式化输入数据到文件
fread 从文件中读取二进制数据
frewind 将文件的位置指针移至文件开头位置
fscanf 格式化读入
fseek 设置文件位置指针
ftell 文件位置指针
fwrite 向文件中写入数据

下面重点介绍函数fprintf。该函数的调用格式如下:
count=fprintf(fid,format,A,...),该语句将矩阵A及后面其他参数中数字的实部以format指定的格式写入到fid指定的文件中,返回写入数据的字节数。
上面语句中,参数format由%开头,共可由4个部分组成,分别如下:
●标记(flag),为可选部分。
●宽度和精度指示,为可选部分。
●类型标志符,为可选部分。
●转换字符,为必需部分。

1.标记
标记用于控制输出的对齐方式,可以选择的内容如下
函数 功能 示例
负号(-) 在参数左侧进行判别 %-5.2 d
加号(+) 在数字前添加符号 %+5.2 d
空格 在数字前插入空格 %5.2 d
0 在数字前插入0 %0 5.2 d

2.宽度和精度指示
用户可以通过数字指定输出数字的宽度及精度,格式如下:
●o,指定数字的宽度;
●%6.2f,指定数字的宽度及精度;
●%.2f,指定数字的精度。

3.转换字符
转换字符用于指定输出的符号,可以选择的内容如下
标志符 意义
%c 输出单个字符
%d 输出有符号十进制数
%e 采用指数格式输出,采用小写字母e,如:3.1415e+00
%E 采用指数格式输出,采用大写字母E,如:3.1415E+00
%f 以定点数的格式输出
%g %e及%f 更紧凑的格式,不显示数字中无效的0
%G与%g相同,但是使用大写字母E
%i 有符号十进制数
%o 无符号八进制数
%s 输出字符串
%u 无符号十进制数
%x 十六进制数(使用小写字母a-f)
%X 十六进制数(使用大写字母A-F)
其中%o、%u、%x、%X支持使用子类型。

例如:
例13-7 fprintf格式化输出示例。
>>x=0:.1:1;
>>y=[x;exp(x)];
>>fid=fopen('exp.txt','wt');
>>fprintf(fid,'%6.2f.8f\n',y);
>>fclose(fid)
ans=
0
显示该文件:
>>typeexp.txt
0.00 1.00000000
0.10 1.10517092

0.90 2.45960311
1.00 2.71828183

f p r i n t f(1,'It''s Friday.\n')
It's Friday. 在该例中,利用1表示显示器,并且用两个单引号显示单引号,使用\n进行换行。在格式化输出中,这类符号称为转义符。MATLAB中的常用转义符如表下所示。

转义符 功能
\b 退格
\f 表格填充
\n 换行符
\r 回车
\t t a b
\\ \,反斜线
\''或'' ',单引号
%% %,百分号
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com