matlab读写文件

上传人:油条 文档编号:13087809 上传时间:2017-10-22 格式:DOCX 页数:5 大小:105.37KB
返回 下载 相关 举报
matlab读写文件_第1页
第1页 / 共5页
matlab读写文件_第2页
第2页 / 共5页
matlab读写文件_第3页
第3页 / 共5页
matlab读写文件_第4页
第4页 / 共5页
matlab读写文件_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《matlab读写文件》由会员分享,可在线阅读,更多相关《matlab读写文件(5页珍藏版)》请在金锄头文库上搜索。

1、1、打开文件在 Matlab中进行文件的数据读写之前必须先打开文件,打开文件用 fopen命令,其调用的格式为fid=fopen(文件名,打开方式) %文件名为字符串,可包括文件所在路径,默认为当前工作路径,fid为所打开文件句柄,后面对文件读写及关闭均需要此文件句柄。若打开文件成功,则返回的 fid值大于 0,否则返回负值。打开方式可为:1)r :以只读方式打开文件(默认的方式),所打开的文件必须已存在。2)r+:以读写方式打开文件,打开后先读后写。所打开的文件必须已存在。3)w :以写入方式打开文件。所打开的文件已存在则更新;不存在则创建。4)w+:以读写方式打开文件。所打开的文件已存在则

2、更新;不存在则创建。5)a :以追加方式打开文件,打开文件后指针位于文件末尾。文件不存在则创建。6)a+:以追加方式打开文件,打开文件后,先读入数据再添加数据。文件不存在则创建。另外,在这些字符串后添加一个“t”,如rt或wt+,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是 fopen函数默认的打开方式。2、关闭文件在对文件进行读写完成后,需要关闭已经打开的文件以保存数据。关闭文件用 fclose函数,其调用格式为:fstatefclose(fid) %关闭 fid所表示的文件。fstate 表示关闭文件操作的返回代码,若关闭成功,返回 0,否则返回-1。如果要关闭

3、所有已打开的文件用 fclose(all)。3、二进制文件的读写1)写二进制文件fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为:COUNTfwrite(fid,A,precision)说明:其中 COUNT返回所写的数据元素个数(可缺省),fid 为文件句柄,A 用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double 等。缺省数据精度为 uchar,即无符号字符格式。a=1 2 3 4 5 6 7 8 9;fid=fopen(d:test.bin,wb); %以二进制数据写入方式打开

4、文件 fid = 3 %其值大于 0,表示打开成功fwrite(fid,a,double) %得到 ans = 9 表示写入了 9个数据fclose(fid) %得到 ans = 0 表示关闭成功2)读二进制文件fread函数可以读取二进制文件的数据,并将数据存入矩阵。其调用格式为:A,COUNT=fread(fid,size,precision)说明:其中 A是用于存放读取数据的矩阵、COUNT 是返回所读取的数据元素个数、fid 为文件句柄、size为可选项,若不选用则读取整个文件内容;若选用则它的值可以是下列值:N(读取 N个元素到一个列向量)、inf(读取整个文件)、M,N(读数据到

5、MN的矩阵中,数据按列存放)。 precision 用于控制所写数据的精度,其形式与 fwrite函数相同。4、文本文件的读写操作1)读文本文件fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为:A,COUNT=fscanf(fid,format,size)说明:其中 A用来存放读取的数据,COUNT 返回所读取的数据元素个数,fid 为文件句柄,format 用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如数据宽度说明等。size为可选项,决定矩阵 A中数

6、据的排列形式,它可以取下列值:N(读取 N个元素到一个列向量)、inf(读取整个文件)、M,N(读数据到 MN的矩阵中,数据按列存放)。2)写文本文件fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:fprintf(fid,format,A)说明:fid 为文件句柄,指定要写入数据的文件,format 是用来控制所写数据格式的格式符,与 fscanf函数相同,A 是用来存放数据的矩阵。上面语句中,参数 format由%开头,共可由 4个部分组成,分别如下: 标记(flag),为可选部分。 宽度和精度指示,为可选部分。 类型标志符,为可选部分。 转换字符,为必需部分。A. 标

7、记标记用于控制输出的对齐方式,可以选择的内容如下所示。标记的可选内容函数 功能 示例负号(-) 在参数左侧进行判别 %-5.2d加号(+) 在数字前添加符号 %+5.2d空格( ) 在数字前插入空格 % 5.2d0 在数字前插入 0 % 05.2dB. 宽度和精度指示用户可以通过数字指定输出数字的宽度及精度,格式如下: ans =0打开 fout.txt文件,其内容为:1.20 -43.300000001.200000 -43.3000001.20 -43.30000000从上述结果可以看出宽度和精度控制的效果。C. 转换字符转换字符用于指定输出的符号,可以选择的内容如下表所示。格式化输出的标

8、志符及意义标志符 意义%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 十六进制数(使用小写字母 af)%X 十六进制数(使用大写字母 AF)其中 %o、%u、%x、%X 支持使用子类型,具体情况这里不再赘述。格式化输出标志符的效果见下面的例子。例:fprintf 格式化输

9、出示例。x = 0:.1:1;y = x; exp(x);fid = fopen(fout.txt, wt);fclose(fid)ans =0显示该文件:0.00 1.000000000.10 1.105170920.20 1.221402760.30 1.349858810.40 1.491824700.50 1.648721270.60 1.822118800.70 2.013752710.80 2.225540930.90 2.459603111.00 2.71828183例: 利用 fprintf 函数在显示器上输出字符串fprintf(1,Its Friday.n)Its Frid

10、ay.在该例中,利用 1表示显示器,并且用两个单引号显示单引号,使用n 进行换行。在格式化输出中,这类符号称为转义符。MATLAB中的常用转义符如下表所示。MATLAB中的常用转义符转义符 功能b 退格f 表格填充n 换行符r 回车t tab 反斜线 或 单引号%百分号关于 format格式的例子(发表博文时有些字符会被过滤掉,这里用了图片):例:创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。a=string;fid=fopen(char1.txt,w);fprintf(fid,%s,a);fclose(fid);fid1=fopen(char1.txt,rt);b=fscanf(fid1,%s) %得到 b = string,是从 fid1的文件读取的另例:fid=fopen(fx.txt,r); %得到文件号f,count=fscanf(fid,%f %f,12,90); %把文件号 1的数据读到 f中。其中 f是12 90的矩阵,%这里%f %f表示读取数据的形势,他是按原始数据型读取fclose(fid);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号