Effacer les filtres
Effacer les filtres

delete a struct in a struct array

4 vues (au cours des 30 derniers jours)
elisa ewin
elisa ewin le 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?

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by