Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Matlab中从文件中获取选择性数据?_Matlab - Fatal编程技术网

如何在Matlab中从文件中获取选择性数据?

如何在Matlab中从文件中获取选择性数据?,matlab,Matlab,我试图从包含内容的文本文件中获取选择性数据。我使用以下代码阅读第四列: 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的

我试图从包含内容的文本文件中获取选择性数据。我使用以下代码阅读第四列:

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
的行。下面的代码获取所需的列作为单元格数组
数据
,然后将单元格的内容分配给
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

里约如果足够回答你的问题,可以考虑接受这个答案。