2015-10-04 91 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 
相關問題