나는 32x1 struct array
입니다. 이 배열의 각 요소에는 여러 필드가 있습니다. 어떤 요소가 비어 있는지 확인하려고하는데, 비어 있지 않은 모든 요소가있는 벡터를 만들고 싶습니다.Matlab의 구조체 배열에서 빈 필드를 검사하고 비어 있지 않은 모든 벡터를 저장하려면 어떻게해야합니까?
예를 들어 나는, 그래서 satdata(i).SVID
struct array
분야 SVID
이 비어있는 경우 내가보고 싶은있는, satdata
라고 있습니다. 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]
처럼 보이는 것을 얻는다. 이 경우 첫 번째 요소 만 비어 있습니다. 따라서 [2,3,4...32]
과 같은 31x1
벡터를 가져 오려고합니다.