1、2023-5-5主要内容主要内容 从从TXT文件中读取数据文件中读取数据 把数据写入把数据写入TXT文件文件2023-5-5第一节第一节 从从TXT文件中读取数据文件中读取数据MATLAB中读取文本文件的常用函数中读取文本文件的常用函数2023-5-5一、一、利用数据导入向导导入利用数据导入向导导入TXT文件文件2023-5-5数据文件略去数据文件略去【例例6.1-1】利用数据导入向导读取文件利用数据导入向导读取文件examp6_2_1.txt至至examp6_2_11.txt中的数据中的数据2023-5-5二、调用高级函数读取数据二、调用高级函数读取数据1.调用调用importdata函数读
2、取数据函数读取数据调用格式:调用格式:importdata(filename)A=importdata(filename)A=importdata(filename,delimiter)A=importdata(filename,delimiter,headerline)A D=importdata()A D H=importdata()=importdata(-pastespecial,)2023-5-5 importdata(examp6_2_4.txt)x=importdata(examp6_2_7.txt)x=importdata(examp6_2_3.txt,;)x=importda
3、ta(examp6_2_8.txt,2)x,s,h=importdata(examp6_2_7.txt)FileContent=importdata(examp6_2_10.txt)【例例6.1-2】调用调用importdata函数读取文件函数读取文件examp6_2_1.txt至至examp6_2_11.txt中的数据中的数据2023-5-52.调用调用load函数读取数据函数读取数据调用格式:调用格式:S=load(filename)S=load(filename,variables)S=load(filename,-mat,variables)S=load(filename,-ascii
4、)load(.)load.2023-5-5 load examp6_2_1.txt load -ascii examp6_2_1.txt x1=load(examp6_2_2.txt)x1=load(examp6_2_2.txt,-ascii);load examp6_2_3.txt load examp6_2_4.txt【例例6.1-3】调用调用load函数读取文件函数读取文件examp6_2_1.txt至至examp6_2_12.txt中的数据中的数据2023-5-53.调用调用dlmread函数读取数据函数读取数据调用格式:调用格式:M=dlmread(filename)M=dlmrea
5、d(filename,delimiter)M=dlmread(filename,delimiter,R,C)M=dlmread(filename,delimiter,range)2023-5-5 x=dlmread(examp6_2_3.txt)x=dlmread(examp6_2_3.txt,2,3)x=dlmread(examp6_2_3.txt,1,2,2,5)x=dlmread(examp6_2_5.txt)x=dlmread(examp6_2_6.txt)x=dlmread(examp6_2_9.txt)【例例6.1-4】调用调用dlmread函数读取文件函数读取文件examp6_2
6、_1.txt至至examp6_2_11.txt中的数据中的数据2023-5-54.调用调用textread函数读取数据函数读取数据调用格式:调用格式:A,B,C,=textread(filename,format)A,B,C,=textread(filename,format,N)=textread(,param,value,)textread函数支持的函数支持的format字符串字符串textread函数支持的参数名与参数值列表函数支持的参数名与参数值列表2023-5-5 x1=textread(examp6_2_1.txt);x2=textread(examp6_2_2.txt);x3=t
7、extread(examp6_2_3.txt,delimiter,);c1,c2,c3,c4,c5=textread(examp6_2_4.txt,%f%f%f%f%f,delimiter,;*);x5=textread(examp6_2_5.txt,emptyvalue,-1)x8=textread(examp6_2_8.txt,headerlines,7)x9=textread(examp6_2_9.txt,delimiter,whitespace,+i)c1,c2,c3,c4,c5,c6,c7,c8=textread(examp6_2_9.txt,.%f%f%f%f%f%f%f%f,de
8、limiter,whitespace,+i);【例例6.1-5】调用调用textread函数读取文件函数读取文件examp6_2_1.txt至至examp6_2_11.txt中的数据中的数据2023-5-5三、调用低级函数读取数据三、调用低级函数读取数据1.调用调用fopen函数打开文件函数打开文件调用格式:调用格式:fid,message=fopen(filename,permission)filename,permission=fopen(fid)2023-5-52.调用调用fclose函数关闭文件函数关闭文件调用格式:调用格式:status=fclose(fid)status=fclos
9、e(all)2023-5-53.调用调用fseek、ftell、frewind和和feof函数控制读写位置函数控制读写位置调用格式:调用格式:status=fseek(fid,offset,origin)position=ftell(fid)frewind(fid)eofstat=feof(fid)2023-5-54.调用调用fgets、fgetl函数读取文件的下一行函数读取文件的下一行调用格式:调用格式:tline=fgets(fid)tline=fgets(fid,nchar)tline=fgetl(fid)2023-5-55.调用调用textscan函数读取数据函数读取数据调用格式:调用
10、格式:C=textscan(fid,format)C=textscan(fid,format,N)C=textscan(fid,format,param,value,)C=textscan(fid,format,N,param,value,)C=textscan(str,)C,position=textscan()2023-5-5 fid=fopen(examp6_2_8.txt,r);fgets(fid);fgets(fid);A=textscan(fid,%f%f%f%f%f%f,CollectOutput,1)A=3x6 double fgets(fid);fgets(fid);B=te
11、xtscan(fid,%f%f%f,CollectOutput,1)B=2x3 double fclose(fid);【例例6.1-6】调用调用textscan函数读取文件函数读取文件examp6_2_1.txt至至examp6_2_13.txt中的数据中的数据2023-5-5第二节第二节 把数据写入把数据写入TXT文件文件MATLAB中写文本文件的常用函数中写文本文件的常用函数2023-5-5一、调用一、调用dlmwrite函数写入数据函数写入数据调用格式:调用格式:dlmwrite(filename,M)dlmwrite(filename,M,D)dlmwrite(filename,M,D
12、,R,C)dlmwrite(filename,M,attrib1,value1,attrib2,value2,)dlmwrite(filename,M,-append)dlmwrite(filename,M,-append,attribute-value list)dlmwrite函数支持的参数名与参数值列表函数支持的参数名与参数值列表2023-5-5 x=1.455390+1.360686i 8.692922+5.797046i 5.498602+1.449548i 8.530311+6.220551i3.509524+5.132495i 4.018080+0.759667i 2.39916
13、2+1.233189i 1.839078+2.399525i4.172671+0.496544i 9.027161+9.447872i 4.908641+4.892526i 3.377194+9.000538i;dlmwrite(examp6_2_9.txt,x,delimiter,newline,pc)【例例6.2-1】用逗号作为分隔符,调用用逗号作为分隔符,调用dlmwrite函数将如下复数矩函数将如下复数矩阵写入文件阵写入文件examp6_2_9.txt2023-5-5二、调用二、调用fprintf函数写入数据函数写入数据调用格式:调用格式:count=fprintf(fid,forma
14、t,A,)【例例】%在屏幕上显示一句话在屏幕上显示一句话 y=fprintf(1,祝福我们伟大的新中国祝福我们伟大的新中国%d周岁生日快乐!周岁生日快乐!,60)祝福我们伟大的新中国祝福我们伟大的新中国60周岁生日快乐!周岁生日快乐!y=382023-5-5 x=10*rand(8,5);fid=fopen(examp6_2_01.txt,wt);fprintf(fid,%-f%-f%-f%-f%-f%-f%-f%-fn,x);fclose(fid);%关闭文件关闭文件【例例6.2-2】用用fprintf函数将数据写入文件函数将数据写入文件examp6_2_01.txt至至examp6_2_11.txt的代码的代码调用调用fprintf函数写入数据或在屏幕上显示数据时,函数写入数据或在屏幕上显示数据时,format参数指定的格式循参数指定的格式循环作用在矩阵的列上,原始矩阵的列在文件中或屏幕上就变成了行。环作用在矩阵的列上,原始矩阵的列在文件中或屏幕上就变成了行。