我有一个.txt文件,每行总共有两个值,由制表符分隔:
A
等
始终以0 0开头并以。结尾。 。 (80次)
我想用Matlab阅读所有数据。这是我的代码:
0 0
23 69
45 108
81 158
110 253
125 357
141 492
165 606
179 753
189 983
. .
0 0
4 31
33 38
45 89
60 115
75 166
93 201
107 216
116 291
133 366
148 480
170 631
196 720
207 994
. .
0 0
19 81
33 102
46 128
72 161
138 236
178 398
197 537
210 658
220 832
. .
0 0
24 38
40 90
71 166
99 193
所以你可以看到我希望左边的数字保存为digNum {upOneValueWhen'。'} {numberIn'Vector'}和正确的数字gewicht {upOneValueWhen'。'} {numberIn'Vector'}。
一切正常但是当我得到digNum = 46(倒数第二个“向量”)时{upOneValueWhen'。'}上升了一个数字。 我不知道为什么。 '我'应该只在''之后上升。'但出于某种原因,它会在这一个特定的位置上升。
任何想法??? 非常感谢你提前
答案 0 :(得分:0)
我会尝试逐行读取整个文件,直到达到文件末尾:
% Open files
fid = fopen('test.txt');
% Read Data
i = 1;
j = 1;
while(~feof(fid))
line = fgetl(fid);
if strfind(line,'.')
i = i + 1;
continue;
end;
s = textscan(line,'%s','delimiter',' ');
digNum{i,j} = str2double(s{1}{1});
gewicht{i,j} = str2double(s{1}{length(s{1,1})});
j = j + 1;
end;
fclose(fid);
现在,您可以在识别出i
时轻松增加.
。
此外,利用str2double
,您可以将所有数据放入两个矩阵中。
我认为上述情况如上所述。
答案 1 :(得分:-1)
如上所述,到目前为止的数据并没有重现问题。幸运的是,您应该能够通过以下步骤自行解决问题:
这样您就可以快速找到问题。