Filter löschen
Filter löschen

delete a struct in a struct array

4 Ansichten (letzte 30 Tage)
elisa ewin
elisa ewin am 13 Mai 2016
Beantwortet: Stephen23 am 13 Mai 2016
hi! I have the struct array a 1x3, I want to delete all the struct in the struct array in which the fields places and locs are zero. In this case a 1x1 as the fields places and locs equal to zero, so I want to delete it and transform a in a struct array from 1x3 to 1x2.
I have used this code
for k=1:3
if and(isempty(s(k).places),isempty(s(k).locs))
s(k)=[]; a=s;
end
end
but it gives the error
'Index exceeds matrix dimensions.'
How can I do, to solve?

Akzeptierte Antwort

Stephen23
Stephen23 am 13 Mai 2016
>> idx = ~cellfun('isempty',{a.places});
>> b = a(idx)

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by