Matlab读取txt文件.doc
文本预览下载声明
Matlab读取txt文件
根据txt文档不同种类介绍不同的读取数据方法
一、纯数据文件(没有字母和中文,纯数字)
对于这种txt文档,从matalb中读取就简单多了
例如test.txt文件,内容为
17.901 -1.1111 33.04517.891 -1.1286 33.04517.884 -1.1345 33.045
可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。
二、中英文和数据如test1.txt
你好欢迎来到论坛edu.cn1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555
这样的文件怎么读入数据呢?方法有多种,现举两个比较简单实用的。
方法一:file/import data....../next/finish whosName Size Bytes Class
data 5x4 160 double arraytextdata 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 =
你好 欢迎来到 论坛 edu.cn
方法二:[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 44 55
a3 =
111 222 333 444 555
a4 =
1111 2222 3333 4444 5555因以字符串的形式读入,所以有。————————————————————————————————
三、中文 数据 英文 混乱如test.txt
你好1 11 111 1111欢迎来到2 22 222 2222论坛3 33 333 3333edu.cn4 44 444 44445 55 555 5555
说明:这种内容格式的文件用上面的方法是不行的。
以下是由chinamaker编写的一种方法:
fidin=fopen(test.txt); % 打开test2.txt文件 fidout=fopen(mkmatlab.txt,w); % 创建MKMATLAB.txt文件while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 if double(tline(1))=48double(tline(1))=57 % 判断首字符是否是数值 fprintf(fidout,%s\n\n,tline); % 如果是数字行,把此行数据写入
显示全部