2012-03-15 72 views
0

我有兩個數組。一個用於數據,另一個包含我想從數組中選擇的每個項目的1以及對於我想忽略的每個項目的0從Matlab中的數組中選擇檢查的項目?

data = [1 2 3 4 5]; 
list = [1 0 1 0 1]; 

是否有一個快速的單行方式來獲得選中的元素(1,3和5)從數據陣列沒有做這樣的事情:

newdata = []; 
for i=1:numel(data) 
    if list(i) == 1 
     newdata(end+1) = data(i); 
    end 
end   

回答

4

您可以直接使用它:

data(list == 1) 

data(logical(list)) 
相關問題