Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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,我有几个带有3列信息的*.txt文件,这里只是一个文件的示例: namecolumn1 namecolumn2 namecolumn3 #---------------------------------------- name1.jpg someinfo1 name name2.jpg someinfo2 name name3.jpg someinfo3 name othername1.bmp in

我有几个带有3列信息的*.txt文件,这里只是一个文件的示例:

namecolumn1   namecolumn2     namecolumn3
#----------------------------------------
name1.jpg         someinfo1     name

name2.jpg         someinfo2     name

name3.jpg         someinfo3     name

othername1.bmp    info1         othername

othername2.bmp    info2         othername

othername3.bmp    info3         othername
我只想从“namecolumn1”中提取以name开头但从第1列开始的名称

我的代码如下所示:

file1    = fopen('test.txt','rb');

c        = textscan(file1,'%s %s %s','Headerlines',2);

tf       = strcmp(c{3}, 'name');

info     = c{1}{tf};
问题是,当我执行disp(info)时,我只得到表中的第一个条目:name1.jpg,我希望所有条目都是:

name1.jpg

name2.jpg

name3.jpg

你差不多到了。您看到的是MATLAB的一个示例,所以MATLAB分别返回每个值

运行脚本后,可以在命令行中输入
c{1}{tf}
来验证这一点,脚本返回:

>> c{1}{tf}

ans =

name1.jpg


ans =

name2.jpg


ans =

name3.jpg
虽然有时我们希望这样做,但我认为在字符数组的情况下,使用字符数组比保留单元格数组更困难:

>> info = [c{1}{tf}]

info =

name1.jpgname2.jpgname3.jpg

>> info = c{1}(tf)

info = 

    'name1.jpg'
    'name2.jpg'
    'name3.jpg'
前者要求您输入结果(如果字符串长度不同,则输入空格),而您可以直接在单元格数组中索引字符串,而不必担心任何问题(例如,
info{1}