文档详情

matlab中如何读取TXT数据文件.doc

发布:2017-06-05约3.27千字共4页下载文档
文本预览下载声明
今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用: 下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以。 function dataout=dataread(filein,fileout,line) fidin=fopen(filein,r); fidout=fopen(fileout,w); nline=0; while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 nline=nline+1; if nline==line fprintf(fidout,%s\n,tline); dataout=tline; end end fclose(fidin); fclose(fidout); %%%%%%%%%%%%%%%%%%%%%%%%%% 调用格式:dataout=dataread(filein,fileout,line) 如果你的txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据 a=textread(ll.txt); t=a(1:43,4:10); 1:43是1到43行,4:10是4到10列的数据,当然也可以只读一个数据,如果你的matlab没有textread函数,直接从mathworks网站下载就行。 根据txt文档不同种类介绍不同的读取数据方法 转自:/youngbrave/blog/item/878db31fcd4f220f304e15bb.html 一、纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.1111 33.045 ????????????????????????????????????????? 17.891 -1.1286 33.045 ????????????????????????????????????????? 17.884 -1.1345 33.045” 可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。 二、中英文和数据如test1.txt “你好 欢迎来到 振动论坛 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555” 这样的文件怎么读入数据呢? 方法有多种,现举两个比较简单实用的。 方法一: file/import data....../next/finish whos Name?????????? Size?????????????????? Bytes Class data?????????? 5x4????????????????????? 160 double array textdata?????? 4x1????????????????????? 300 cell array Grand total is 54 elements using 460 bytes data data = ?????????? 1????????? 11???????? 111??????? 1111 ?????????? 2????????? 22???????? 222??????? 2222 ?????????? 3????????? 33???????? 333??????? 3333 ?????????? 4????????? 44???????? 444??????? 4444 ?????????? 5????????? 55???????? 555??????? 5555 textdata textdata = ??? 你好 ??? 欢迎来到 ??? 振动论坛 ??? 方法二: [a1,a2,a3,a4]=textread(test1.txt,%s%s%s%s,headerlines,4) 说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。 这里%s的个数和[a1,a2,a3,a4]对应。 [a1,a2,a3,a4]=textread(test1.txt,%s%s%s%s,headerlines,4) a1 = ??? 1 ??? 2 ??? 3 ??? 4 ??? 5 a2 = ??? 11 ??? 22 ??? 33 ???
显示全部
相似文档