私は持ってい32x1 struct arrayます。この配列の各要素には、いくつかのフィールドがあります。どの要素が空(完了)であるかを確認しようとしていますが、空ではなかったすべての要素を含むベクトルを作成したいと思います。
たとえば、struct arrayという名前があり、そこからフィールドが空かsatdataどうかを確認したいので、 。SVIDは、私のさまざまな要素に対して1から32までの範囲である必要があります。ただし、欠落している要素がある場合は、である可能性があります。したがって、(この場合は)次のような列ベクトルを作成します。SVIDsatdata(i).SVID[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]ます。