У меня есть 32x1 struct array
. Каждый элемент этого массива имеет несколько полей. Я пытаюсь проверить, какие элементы пусты (сделано), но затем я хочу создать вектор со всеми элементами, которые не были пустыми.
Например, у меня есть struct array
с именем satdata
, из которого я хочу узнать, пусто ли поле SVID
, поэтому satdata(i).SVID
. SVID должен идти от 1 до 32 для моих разных элементов. Но если отсутствует элемент, то это может быть [1:4 6:10 11:32]
. Итак, я хочу создать вектор-столбец, который (для этого случая)
[1;2;3;4;6;7;8;9;10;11;12;13;14;15;16;17;18;19...32].
Это то, что у меня есть до сих пор:
for i = 1:32
if isempty(satdata(i).SVID)
continue
else
svid = satdata(i).SVID;
svIdVec(i,:) = svid;
end
end
Что правильно проверяет наличие пустых слотов, но когда я создаю вектор, я получаю что-то похожее на svIdVec = [0,2,3,4...32]
. В этом случае только первый элемент пуст. Поэтому я хочу получить вектор 31x1
, такой как [2,3,4...32]
.