2015-10-04 109 views
0

我有一些数据由一组字符串标记标记,这些标记以1开头,最后一行数据为2开头。这些字符串是我从中搜索的固定列表。如果没有找到字符串,我希望它跳过该字符串,并只给数组一组0作为值。我用它来搜索,打破了大数据片将基于这些标志变量的代码如下:在Matlab中设置字符串搜索,如果找不到任何字符串,如何跳过字符串?

tasknames = {'task1';'task2';'task3';'task4'}; 

for n = 1:numel(tasknames) 

    first = find(~cellfun(@isempty,strfind(Text(:,9),[tasknames{n},'_1'])))+1; 
    last = find(~cellfun(@isempty, strfind(Text(:,9),[tasknames{n},'_2'])))+1; 

    task_data{n} = Data(first:last, :); 
end 

基本上如果strfnd回来空whne它去查找数据的开始和结束行,它崩溃,因为不存在。我如何避免这种崩溃,并填充task_data{n}为特定的标记像100个零或东西?

回答

0

如果基本发生在第一和最后一个是空的,这意味着你可以检查一下:

if(isempty(first)&&isempty(last)) 

task_data{n}=zeros(1,100); 

else 

task_data{n}= Data(first:last, :); 

end 
相关问题