2012-03-17 126 views
0

這是我的代碼,其中,形成的結構:如何檢查結構字段中是否存在數字?

while (count < 98) 
    % certain codes here, then 

    s(count).frame = count;   
    s(count).freq = frequency; 
    s(count).str = strength; 

    binnum = find(newdata2); 
    s(count).bin = binnum; 

    count = count + 1; 
end 

陣列binnum是不確定的,因爲它形成了一個環內,並且在每次迭代中改變其值的內容和長度。我知道,「binnum」只能在1至1024

現在,我需要檢查該字段​​從每次數1存在s(1).bins(97).bin垂直,即到1024年,即保存值第1次出現其中所有binnum是我需要存儲在另一個結構中的相應幀值。如果例如1出現在s(1).bins(70).bin中,那麼我必須將值存儲在另一個結構中。

再次看到2,然後3,然後4等等直到1024,即每次我必須通過s(1).bins(97).bin檢查單獨1然後單獨檢查2,然後單獨檢查3,等等。

我已經試過這樣的事情

xx = 1; 
for bins = 1:1024 
    for frame = 1:97 
     if (s(frame).bin == bins) 
      r(bins).start(xx) = frame; 
      xx = xx + 1; 
     end 
    end 
end 

,但是這不會工作,因爲在if條件我無法指數​​,因爲我不知道它的長度。

現在我該做什麼?

+0

@mathew感謝您編輯這位先生 – saya 2012-03-18 05:24:47

回答

0

我不確定我是否瞭解您的問題,並懷疑有更簡單的方法來解決此問題。這就是說,這是你在追求什麼?

r = []; 
for bins = 1:1024 
    r(bins).start = []; 
    for frame = 1:97 
     if any(s(frame).bin == bins) 
      r(bins).start(end+1,1) = frame; 
     end 
    end 
end