4
我有一個結構數組,其中包含各種長度的結構數組。例如:MATLAB:確定結構數組的結構數組的總長度/大小作爲結構數組的字段
「s」是結構 「數據」是在「S」的字段,並且也是一個結構陣列本身 和
length(s(n).data) ~= length(s(m).data)
欲預分配一個數組,花費時間來自每個字段s.data.timestamp的郵票。 有沒有辦法做到這一點,而不使用for循環兩次?這是我到目前爲止有:
% find the total length
count=0;
for x=1:length(s)
count=count+length(s(x).data);
end
% preallocate timestamp array
timestamp=zeros(1,count);
% populate timestamp array
index=1;
for x=1:length(s)
for y=1:length(s(x).data)
timestamp(index)=s(x).data(y).timestamp;
index=index+1;
end
end
我想過只是高估了,我需要根據「S」和「數據」的平均長度的長度的長度,但每個的實際長度「數據'領域/子結構差異很大。我是否會過得更好,過高地估計它後面的數據並修剪所得數組?使用我正在處理的數據集時,零時間戳是不可能的,所以這應該不成問題。
哇!只有兩行 - 我相信「freakin'天才」這個詞可能適用於此。 – Doresoom 2009-11-18 19:47:17
@doresoom:逗號分隔的列表是你的朋友。 ;) – gnovice 2009-11-18 19:56:15