这是我的代码,其中形成了一个结构:
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之间的值。
现在我需要垂直检查此字段s.bin
,即每次从s(1).bin
到s(97).bin
检查是否存在从1到1024的数字。即存在所有{{ {1}}我需要存储在另一个结构中的相应帧值。如果例如binnum
和1
中存在s(1).bin
,那么我必须存储值1&amp; 70在另一个结构中。
同样的事情要看2然后3然后4等等,直到1024,即每次我必须通过s(70).bin
到s(1).bin
检查1单独然后单独2然后仅3人等等。
我尝试过这样的事情
s(97).bin
但是这不起作用,因为在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 :(得分: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