delete a struct in a struct array

1 回表示 (過去 30 日間)
elisa ewin
elisa ewin 2016 年 5 月 13 日
回答済み: Stephen23 2016 年 5 月 13 日
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?

採用された回答

Stephen23
Stephen23 2016 年 5 月 13 日
>> idx = ~cellfun('isempty',{a.places});
>> b = a(idx)

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by