matlab编程与工程应用(第二版) 第九章 高级文件输入输出 笔记

来源:互联网 发布:大数据时代的到来 编辑:程序博客网 时间:2024/04/30 01:20

load函数只能读取文件中'规则的'数据。

打开文件fid=fopen('filename','permission string');第二个参数:r 读取(默认 即没有的二个参数的时候) ;w 写入;a 追加;

返回值fid是-1 表示打开失败;如果打开成功的话fid是这个文件的标识符;

closeresult=fclose(fid);根据文件的标识符来关闭这个文件;closeresult=0表示关闭成功,-1表示关闭失败;

还有closeresult=fclose('all');表示关闭所有打开状态的文件;


fid=fopen('testdata.txt');while feof(fid)==0aline=fgetl(fid);disp(aline);endcloseresult=fclose(fid);


用fcanf()读取 保存到数组中



注意fcanf读取的时候是从文件的每一行读取的,但是保存到矩阵中是按列来保存的,所以


还有 因为有空格所以格式要注意!!!!!!!! :



用textscan保存到元胞数组中:

保存到元胞数组中的时候是按列读取按列保存的。

textscan(fid,'format'); 其中format可以自己定义;比如以下的例子:

function outcell=myfilecell()

fid=fopen('testdata.txt');

outcell=textscan(fid,'%s%s%s');

fclose(fid);

结果分析: 里面是一行三列的元胞元素  而且元胞元素都是字符串 '%c'表示单个字符   而且在文件中是以空格来分割字符串的.

结果如下:




注意使用textscan()的时候不需要每行的换行符但是fscanf()需要:因为textscan()格式化字符串的时候指定了文件中的列的格式,而fscanf()指定了文件每行的格式。

写入文件:

使用fprintf()函数;也能把矩阵写进文件(.txt .dat .m)中;

读写电子表格类文件:使用xlswrite('ranexcel',mat);


0 0
原创粉丝点击