- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab中的textread textscan读取文本文件2011/02/17 06:58 A.M.From:HYPERLINK /blog/static/34776762011013111354235//blog/static/34776762011013111354235/1.MATLAB从文本文件中读取格式化的数据函数是textread。调用方式[A,B,C,...] = textread(filename,format)[A,B,C,...] = textread(filename,format,N)[...] = textread(...,param,value,...)输入参数 filename 需要读取的数据文件 format 每行各个数据格式 N 读取数据时使用N次。当调用textread函数时会按照指定的格式从filename中读取数据,并将数据分别保存在变量A,B,C中,直到文件内容被读完为止。下面是读取c:\中的test3.txt文件操作。 !type c:\test3.txtQ1 1 2Q2 3 4 [a1 a2 a3]=textread(c:\test3.txt,%s %f %f)a1 = Q1 Q2a2 = 1 3a3 = 2 4这样文件test3.txt中的每行分别读入变量a1、a2、a3。2.TextScan函数读取文本数据对于具有多行文字说明文本数据文件,最好的办法则是用textscan,或者fscanf读取。调用方式C = textscan(fid, format)C = textscan(fid, format, N)C = textscan(fid, format, param, value, ...)C= textscan(fid, format, N, param, value, ...)输入参数fid 为fopen命令返回的文件标识符format 是一个字符串变量,表示读取数据及数据转换的规则。Format中包含了多种方式,其内容如表6.5所示。format内容 数据转换规则说 明%n读取一个数字并转换为double%d读取一个数据并转换为int32%d8读取一个数据并转换为int8%d16读取一个数据并转换为int16%d32读取一个数据并转换为int32%d64读取一个数据并转换为int64%u读取一个数据并转换为uint32%u8读取一个数据并转换为uint8%u16读取一个数据并转换为uint16%u32读取一个数据并转换为uint32%u64读取一个数据并转换为uint64%f4读取一个数字并转换为double%f32读取一个数字并转换为float%f64读取一个数字并转换为double%s读取一个字符串%q读取一个可以是双引号括着的字符串%c读取一个字符,包括空格%[…]读取和括号中字符串相匹配的字符。读取操作在首次遇到不匹配的字符和空格时停止。例如%[mus]把summer读成summ%[^…]读取和括号中字符串不匹配的字符。读取操作在首次遇到不匹配的字符和空格时停止。例如%[^mus]把summer读成er Textscan所支持的数字单元宽度声明有两种,具体如表6.6所示。表6.6 textscan支持的数据读入格式 名称说明N读取包括小数点在内的N个数字或者遇到的分隔符,例如%5f32会把473.238读为473.2N.D读取包括小数点在内的N个数字或者遇到的分隔符,返回的数字在小数点后有D位数,例如%7.2f会把473.238读为473.23 下面建立新文件test1.txt,文件前2行是字符串,后三行是数组,首先查看其内容。 !type c:\test1.txt a1a212注意,在Command窗口下键入“!”后就可以直接执行Dos命令file=fopen(c:\test1.txt,r);%打开需要读取的文件 str1=textscan(file,%s,2) ; str1{1}ans = a1 a2如果需要读取第3行、第4行可以执行下面命令。 da=textscan(file,%f,[3 4]) ; da{1}ans = 1 2由于da是单元数据,下面将其转换为实数型。 cell2mat(da)ans = 1 2如果数据文件中有间隔符,需要忽略间隔符。 type c:\test3.txt1 , 1 , 232 , 3 , 4 tt=fopen(c:\test3.txt);v
文档评论(0)