我正试图从包含此内容的文本文件中获取选择性数据。我正在使用以下代码阅读第四栏:
fid = fopen('class.txt');
C = textscan(fid, '%*s %*s %*s %f %*[^n]');
C = C{:};
只有当第四列的相应值等于1
时,我才想获得第一列中的值。我想执行下面的代码,其中C=1
的值,这样我就只能从文件中获得选择性数据。
R = textscan(fid, '%f %*[^n]');
R = R{:};
我建议读取整个文件,然后在第二步中提取第四列等于1
的行。以下代码获取所需列作为单元数组data
,然后将单元的内容分配给R
和C
。现在,您可以使用逻辑索引只获取所需的行。
fid = fopen('class.txt');
data = textscan(fid, '%f %*s %*s %f');
R = data{1};
C = data{2};
result = R(C==1)
对于数据集。。。
14 114 214 0
15 115 214 0
17 117 215 1
18 118 216 1
15 113 214 1
输出如下:
result =
17
18
15