您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 往来文书 > Matlab数据的导入与导出
数据的导入与导出2020/6/292020/6/29数据的导入与导出数据的导入与导出2020/6/292020/6/29主要内容从TXT文件中读取数据把数据写入TXT文件从Excel文件中读取数据把数据写入Excel文件数据的导入与导出2020/6/292020/6/29第一节从TXT文件中读取数据数据的导入与导出2020/6/29MATLAB中读取文本文件的常用函数高级函数低级函数函数名说明函数名说明load从文本文件导入数据到MATLAB工作空间fopen打开文件,获取打开文件的信息importdata从文本文件或特殊格式二进制文件(如图片,avi视频等)读取数据fclose关掉一个或多个打开的文件dlmread从文本文件中读取数据fgets读取文件中的下一行,包括换行符csvread调用了dlmread函数,从文本文件读取数据。过期函数,不推荐使用fgetl调用fgets函数,读取文件中的下一行,不包括换行符textread按指定格式从文本文件或字符串中读取数据fscanf按指定格式从文本文件中读取数据strread按指定格式从字符串中读取数据,不推荐使用此函数,推荐使用textread函数textscan按指定格式从文本文件或字符串中读取数据数据的导入与导出2020/6/292020/6/29一、利用数据导入向导导入TXT文件数据的导入与导出2020/6/292020/6/29数据文件略去……【例2.1-1】利用数据导入向导读取文件examp02_01.txt至examp02_11.txt中的数据数据的导入与导出2020/6/292020/6/29二、调用高级函数读取数据1.调用importdata函数读取数据调用格式:importdata(filename)A=importdata(filename)A=importdata(filename,delimiter)A=importdata(filename,delimiter,headerline)[AD]=importdata(…)[ADH]=importdata(…)[…]=importdata(‘-pastespecial’,…)数据的导入与导出2020/6/292020/6/29importdata('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/292020/6/292.调用load函数读取数据调用格式:S=load(filename)S=load(filename,variables)S=load(filename,'-mat',variables)S=load(filename,'-ascii')load(...)load...数据的导入与导出2020/6/292020/6/29loadexamp02_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/292020/6/293.调用dlmread函数读取数据调用格式:M=dlmread(filename)M=dlmread(filename,delimiter)M=dlmread(filename,delimiter,R,C)M=dlmread(filename,delimiter,range)数据的导入与导出2020/6/292020/6/29x=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/292020/6/294.调用textread函数读取数据调用格式:[A,B,C,…]=textread('filename','format')[A,B,C,…]=textread('filename','format',N)[…]=textread(…,'param','value',…)数据的导入与导出2020/6/29textread函数支持的format字符串格式字符串说明输出普通字符串忽略与format字符串相同的内容。例如xie%f表示忽略字符串xie,读取其后的浮点数无%d读取一个无符号整数。例如%5d指定读取的无符号整数的宽度为5双精度数组%u读取一个整数。例如%5u指定读取的整数的宽度为5双精度数组%f读取一个浮点数。例如%5.2f指定浮点数宽度为5(小数点也算),有2位小数双精度数组%s读取一个包含空格或其他分隔符的字符串。例如%10s表示读取长度为10的字符串字符串元胞数组%q读取一个双引号里的字符串,不包括引号字符串元胞数组%c读取多个字符,包括空格符。例如%6c表示读取6个字符字符数组%[…]读取包含方括号中字符的最长字符串字符串元胞数组%[^…]读取不包含方括号中字符的非空最长字符串字符串元胞数组%*…忽略与*号后字符相匹配的内容。例如%*f表示忽略浮点数无%w…指定读取内容的宽度。例如%w.pf指定浮点数宽度为w,精度为p数据的导入与导出2020/6/29textread函数支持的参数名与参数值列表参数名参数值说明bufsize正整数设定最大字符串长度,默认值为4095,单位是byte.commentstylematlab忽略%后的内容shell忽略#后的内容c忽略/*和*/之间的内容c++忽略//后的内容delimiter一个或多个字符元素之间的分隔符。默认没有分隔符emptyvalue一个双精度数设定在读取有分隔符的文件时在空白单元填入的值。默认值为0endofline单个字符或'\r\n'设定行尾字符。默认从文件中自动识别expchars指数标记字符设定科学计数法中标记指数部分的字符。默认值为eEdDheaderlines正整数设定从文件开头算起需要忽略的行数whitespace''空格把字符向量作为空格。默认值为'\b\t'\b后退\n换行\r回车\t水平tab键数据的导入与导出2020/6/292020/6/29x1=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/292020/6/29三、调用低级函数读取数据1.调用fopen函数打开文件调用格式:[fid,message]=fopen(filename,permission)[filename,permission]=fopen(fid)permission说明'rt'以只读方式打开文件。这是默认情况'wt'以写入方式打开文件,若文件不存在,则创建新文件并打开。原文件内容会被清除'at'以写入方式打开文件或创建新文件。在原文件内容后续写新内容'r+t'以同时支持读、写方式打开文件'w+t'以同时支持读、写方式打开文件或创建新文件。原文件内容会被清除'a+t'以同时支持读、写方式打开文件或创建新文件。在原文件内容后续写新内容'At'以续写方式打开文件或创建新文件。写入过程中不自动刷新文件内容,适合于对磁带介质文件的操作'Wt'以写入方式打开文件或创建新文件,原文件内容会被清除。写入过程中不自动刷新文件内容,适合于对磁带介质文件的操作数据的导入与导出2020/6/292020/6/292.调用fclose函数关闭文件调用格式:status=fclose(fid)status=fclose('all')数据的导入与导出2020/6/292020/6/293.调用fseek、ftell、frewind和feof函数控制读写位置调用格式:status=fseek(fid,offset,origin)%设定文件指针位置position=ftell(fid)%获取文件指针位置frewind(fid)%移动当前文件指针到文件的开头eofstat=feof(fid)%判断是否到达文件末尾数据的导入与导出2020/6/292020/6/294.调用fgets、fgetl函数读取文件的下一行调用格式:tline=fgets(fid)tline=fgets(fid,nchar)tline=fgetl(fid)数据的导入与导出2020/6/292020/6/295.调用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/292020/6/29fid=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=[3x6double]fgets(fid);%读取文件的第6行fgets(fid);%读取文件的第7行B=textscan(fid,'%f%f%f','CollectOutput',1)B=[2x3double]fclose(fid);%关闭文件……【例2.1-6】调用textscan函数读取文件examp02_01.txt至examp02_13.txt中的数据数据的
本文标题:Matlab数据的导入与导出
链接地址:https://www.777doc.com/doc-6203448 .html