matlab中textscan format内容的用法

matlab中textscan format内容的用法

ID:14083991

大小:48.50 KB

页数:5页

时间:2018-07-25

matlab中textscan format内容的用法_第1页
matlab中textscan format内容的用法_第2页
matlab中textscan format内容的用法_第3页
matlab中textscan format内容的用法_第4页
matlab中textscan format内容的用法_第5页
资源描述:

《matlab中textscan format内容的用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Matlab中的textreadtextscan读取文本文件2011/02/1706:58A.M.From:http://liangshzh0816.blog.163.com/blog/static/34776762011013111354235/1.MATLAB从文本文件中读取格式化的数据函数是textread。调用方式[A,B,C,...]=textread('filename','format')[A,B,C,...]=textread('filename','format',N)[...]=textread(...,'param','value',...)输入参数'filen

2、ame'需要读取的数据文件'format'每行各个数据格式N读取数据时使用N次。当调用textread函数时会按照指定的格式从'filename'中读取数据,并将数据分别保存在变量A,B,C中,直到文件内容被读完为止。下面是读取c:中的test3.txt文件操作。>>!typec:test3.txtQ112Q234>>[a1a2a3]=textread('c:test3.txt','%s%f%f')a1='Q1''Q2'a2=13a3=24这样文件test3.txt中的每行分别读入变量a1、a2、a3。2.TextScan函数读取文本数据对于具有多行文字说明文本数据文件,最好的

3、办法则是用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读

4、取一个数据并转换为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读取一个字符,包括空格%[…]读取和括号中字符串相匹配的字符。读取操作在首次遇到不匹

5、配的字符和空格时停止。例如%[mus]把summer读成summ%[^…]读取和括号中字符串不匹配的字符。读取操作在首次遇到不匹配的字符和空格时停止。例如%[^mus]把summer读成erTextscan所支持的数字单元宽度声明有两种,具体如表6.6所示。表6.6textscan支持的数据读入格式名称说明N读取包括小数点在内的N个数字或者遇到的分隔符,例如%5f32会把473.238读为473.2N.D读取包括小数点在内的N个数字或者遇到的分隔符,返回的数字在小数点后有D位数,例如%7.2f会把473.238读为473.23下面建立新文件test1.txt,文件前2行是字符串,后三

6、行是数组,首先查看其内容。>>!typec:test1.txta1a212注意,在Command窗口下键入“!”后就可以直接执行Dos命令>>file=fopen('c:test1.txt','r');%打开需要读取的文件>>str1=textscan(file,'%s',2);>>str1{1}ans='a1''a2如果需要读取第3行、第4行可以执行下面命令。>>da=textscan(file,'%f',[34]);>>da{1}ans=12由于da是单元数据,下面将其转换为实数型。>>cell2mat(da)ans=12如果数据文件中有间隔符,需要忽略间隔符。>>typec

7、:test3.txt1,1,232,3,4>>tt=fopen('c:test3.txt');>>var=textscan(tt,'%f%f%f','delimiter',',')%忽略‘,’>>aa=cell2mat(var)aa=1123234结束时需要关闭文件>>fclose(file)>>!typec:test2.txt253623519546>>fid=fopen('c:test2.txt');>>fori=1:3,a{i}=fgets(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。