2013-03-26 61 views
3

我有一個單元陣列這樣提取某個字符的索引:
enter image description here在單元陣列

和我想提取的2的指數此單元陣列,所以我使用的碼的這些行中:

for i = 1:size(idx,1) 
    if idx{i,1} ~= [] 
     index = i; 
    end 
end 

但代碼不幹活意味着debuger永遠不會進入如果東陽它不理解的是2從[]。爲什麼不同?你如何建議我寫代碼?
請注意,字符不一定總是2,它也可能出現在其他索引中。

回答

2

在Matlab中,[]表示空的,從而:

for i = 1:size(idx,1) 
    if ~isempty(idx{i,1}) 
     index = i; 
    end 
end 
3

要測試您的變量是否爲空,請使用ISEMPTY函數。

要在單元陣列的所有元素做可以使用CELLFUN

index = find(~cellfun(@isempty, idx));