我有一个文本文件,但不幸的是它的格式很差,但是我想将文本文件的内容读入矩阵,但我不知道该怎么做。
当尝试使用fscanf
, textscan
, textread
其余的它只是将所有内容复制到一个单元格中,但我不希望那样。
内容如下:所以我只想读取小数而不是绝对数字。有人能帮我吗。
1 : 13.27 ; 3 : 20.68 ; 6 : 8.271 ; 7 : 3.308 ; 8 : 8.328 ;
9 : 6.655 ; 10 : 16.58 ; 11 : 9.925 ; 12 : 12.41 ; 13 : 4.135 ;
14 : 9.925 ; 15 : 11.58 ; 16 : 10.87 ; 17 : 1.654 ; 18 : 4.962 ;
19 : 6.655 ; 22 : 10.98 ; 23 : 24.25 ; 24 : 47.33 ; 25 : 11.6 ;
26 : 9.925 ; 27 : 5.809 ; 28 : 5.001 ; 29 : 6.617 ; 30 : 7.577 ;
31 : 9.155 ; 32 : 7.444 ; 33 : 28.58 ; 34 : 9.155 ; 35 : 35.83 ;
只需使用 textscan 并忽略您不需要的内容(例如数字和 : )即可为您提供一个非常简单的解决方案:
fid = fopen('test.txt', 'rt');
data = textscan(fid, '%*u %*1s %f', 'Delimiter', ';');
fclose(fid);
将 test.txt 更改为您的文件名。
data 是一个包含双打的单元格。
>> data{:}
ans =
13.2700
20.6800
8.2710
3.3080
8.3280
6.6550
16.5800
9.9250
12.4100
4.1350
9.9250
11.5800
10.8700
1.6540
4.9620
6.6550
10.9800
24.2500
47.3300
11.6000
9.9250
5.8090
5.0010
6.6170
7.5770
9.1550
7.4440
28.5800
9.1550
35.8300
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)