




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/6/15,数据的导入与导出,2020/6/15,主要内容从TXT文件中读取数据把数据写入TXT文件从Excel文件中读取数据把数据写入Excel文件,2020/6/15,第一节从TXT文件中读取数据,MATLAB中读取文本文件的常用函数,2020/6/15,一、利用数据导入向导导入TXT文件,2020/6/15,数据文件略去,【例2.1-1】利用数据导入向导读取文件examp02_01.txt至examp02_11.txt中的数据,2020/6/15,二、调用高级函数读取数据,1.调用importdata函数读取数据,调用格式:importdata(filename)A=importdata(filename)A=importdata(filename,delimiter)A=importdata(filename,delimiter,headerline)AD=importdata()ADH=importdata()=importdata(-pastespecial,),2020/6/15,importdata(examp02_04.txt)x=importdata(examp02_07.txt)x=importdata(examp02_03.txt,;)x=importdata(examp02_08.txt,2)x,s,h=importdata(examp02_07.txt)FileContent=importdata(examp02_10.txt),【例2.1-2】调用importdata函数读取文件examp02_01.txt至examp02_11.txt中的数据,2020/6/15,2.调用load函数读取数据,调用格式:S=load(filename)S=load(filename,variables)S=load(filename,-mat,variables)S=load(filename,-ascii)load(.)load.,2020/6/15,loadexamp02_01.txtload-asciiexamp02_01.txtx1=load(examp02_02.txt)x1=load(examp02_02.txt,-ascii);loadexamp02_03.txtloadexamp02_04.txt,【例2.1-3】调用load函数读取文件examp02_01.txt至examp02_12.txt中的数据,2020/6/15,3.调用dlmread函数读取数据,调用格式:M=dlmread(filename)M=dlmread(filename,delimiter)M=dlmread(filename,delimiter,R,C)M=dlmread(filename,delimiter,range),2020/6/15,x=dlmread(examp02_03.txt)x=dlmread(examp02_03.txt,2,3)x=dlmread(examp02_03.txt,1,2,2,5)x=dlmread(examp02_05.txt)x=dlmread(examp02_06.txt)x=dlmread(examp02_09.txt),【例2.1-4】调用dlmread函数读取文件examp02_01.txt至examp02_11.txt中的数据,2020/6/15,4.调用textread函数读取数据,调用格式:A,B,C,=textread(filename,format)A,B,C,=textread(filename,format,N)=textread(,param,value,),textread函数支持的format字符串,textread函数支持的参数名与参数值列表,2020/6/15,x1=textread(examp02_01.txt);x2=textread(examp02_02.txt);x3=textread(examp02_03.txt,delimiter,);c1,c2,c3,c4,c5=textread(examp02_04.txt,%f%f%f%f%f,delimiter,;*);x5=textread(examp02_05.txt,emptyvalue,-1)x8=textread(examp02_08.txt,headerlines,7)x9=textread(examp02_09.txt,delimiter,whitespace,+i)c1,c2,c3,c4,c5,c6,c7,c8=textread(examp02_09.txt,.%f%f%f%f%f%f%f%f,delimiter,whitespace,+i);,【例2.1-5】调用textread函数读取文件examp02_01.txt至examp02_11.txt中的数据,2020/6/15,三、调用低级函数读取数据,1.调用fopen函数打开文件,调用格式:fid,message=fopen(filename,permission)filename,permission=fopen(fid),2020/6/15,2.调用fclose函数关闭文件,调用格式:status=fclose(fid)status=fclose(all),2020/6/15,3.调用fseek、ftell、frewind和feof函数控制读写位置,调用格式:status=fseek(fid,offset,origin)%设定文件指针位置position=ftell(fid)%获取文件指针位置frewind(fid)%移动当前文件指针到文件的开头eofstat=feof(fid)%判断是否到达文件末尾,2020/6/15,4.调用fgets、fgetl函数读取文件的下一行,调用格式:tline=fgets(fid)tline=fgets(fid,nchar)tline=fgetl(fid),2020/6/15,5.调用textscan函数读取数据,调用格式: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(),2020/6/15,fid=fopen(examp02_08.txt,r);%以只读方式打开文件examp02_08.txtfgets(fid);%读取文件的第1行fgets(fid);%读取文件的第2行A=textscan(fid,%f%f%f%f%f%f,CollectOutput,1)A=3x6doublefgets(fid);%读取文件的第6行fgets(fid);%读取文件的第7行B=textscan(fid,%f%f%f,CollectOutput,1)B=2x3doublefclose(fid);%关闭文件,【例2.1-6】调用textscan函数读取文件examp02_01.txt至examp02_13.txt中的数据,2020/6/15,第二节把数据写入TXT文件,MATLAB中写文本文件的常用函数,2020/6/15,一、调用dlmwrite函数写入数据,调用格式:dlmwrite(filename,M)dlmwrite(filename,M,D)dlmwrite(filename,M,D,R,C)dlmwrite(filename,M,attrib1,value1,attrib2,value2,)dlmwrite(filename,M,-append)dlmwrite(filename,M,-append,attribute-valuelist),dlmwrite函数支持的参数名与参数值列表,2020/6/15,%定义复数矩阵x=1.455390+1.360686i8.692922+5.797046i5.498602+1.449548i8.530311+6.220551i3.509524+5.132495i4.018080+0.759667i2.399162+1.233189i1.839078+2.399525i4.172671+0.496544i9.027161+9.447872i4.908641+4.892526i3.377194+9.000538i;%将复数矩阵x写入文件examp02_09.txt,用逗号(,)作分隔符,用rn作换行符dlmwrite(examp02_09.txt,x,delimiter,newline,pc),【例2.2-1】用逗号作为分隔符,调用dlmwrite函数将如下复数矩阵写入文件examp02_09.txt,2020/6/15,二、调用fprintf函数写入数据,调用格式:count=fprintf(fid,format,A,),【例】%在屏幕上显示一句话y=fprintf(1,祝福我们伟大的新中国%d周岁生日快乐!,60)祝福我们伟大的新中国60周岁生日快乐!y=38,2020/6/15,%产生一个8行5列的随机矩阵,其元素服从0,10上的均匀分布x=10*rand(8,5);%以写入方式打开文件,返回文件标识符fid=fopen(examp02_01.txt,wt);%把矩阵x以指定格式写入文件examp02_01.txtfprintf(fid,%-f%-f%-f%-f%-f%-f%-f%-fn,x);fclose(fid);%关闭文件,【例2.2-2】用fprintf函数将数据写入文件examp02_01.txt至examp02_11.txt的代码,调用fprintf函数写入数据或在屏幕上显示数据时,format参数指定的格式循环作用在矩阵的列上,原始矩阵的列在文件中或屏幕上就变成了行。,2020/6/15,第三节从Excel文件中读取数据,2020/6/15,一、利用数据导入向导导入Excel文件,2020/6/15,二、调用xlsread函数读取数据,调用格式:num=xlsread(filename)num=xlsread(filename,-1)num=xlsread(filename,sheet)num=xlsread(filename,range)num=xlsread(filename,sheet,range)num=xlsread(filename,sheet,range,basic)num=xlsread(filename,functionhandle)num,txt=xlsread(filename,)num,txt,raw=xlsread(filename,)num,txt,raw,X=xlsread(filename,functionhandle)xlsreadfilenamesheetrangebasic,2020/6/15,%读取文件examp02_14.xls第1个工作表中单元格A2:H4中的数据num=xlsread(examp02_14.xls,A2:H4)%返回读取的数据矩阵numnum=1601016010101NaN063632601016010102NaN073733601016010103NaN000,【例2.3-1】用xlsread函数的这种调用读取文件examp02_14.xls第1个工作表中区域A2:H4的数据,2020/6/15,第四节把数据写入Excel文件,2020/6/15,一、调用xlswrite函数写数据到Excel,调用格式:xlswrite(filename,M)xlswrite(filename,M,sheet)xlswrite(filename,M,range)xlswrite(filename,M,sheet,range)status=xlswrite(filename,)status,message=xlswrite(filename,)xlswritefilenameMsheetrange,2020/6/15,%生成一个10行10列的随机矩阵,其元素服从0,1上的均匀分布x=rand(10);%把矩阵x写入文件examp02_15.xls的第2个工作表中的单元格区域D6:M15,并返回操作信息s,t=xlswrite(examp02_15.xls,x,2,D6:M15)s=1t=message:identifier:,【例2.4-1】生成一个1010的随机数矩阵,将它写入Excel文件examp02_15.xls的第2个工作表的指定区域,2020/6/15,x=1,60101,6010101,陈亮,63,;2,60101,6010102,李旭,73,;3,60101,.6010103,刘鹏飞,0,缺考%定义一个元胞数组x=1601016010101陈亮632601016010102李旭733601016010103刘鹏飞0缺考%把元胞数组x写入文件examp02_15.xls的指定工作表(xiezhh)中的单元格区域A3:F5xlswrite(examp02_15
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论