2012-03-17 96 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