delete a struct in a struct array

1 view (last 30 days)
elisa ewin
elisa ewin on 13 May 2016
Answered: Stephen23 on 13 May 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?

Accepted Answer

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

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!