remove a struct field that its element value is less than specific 50

Hi, I have 4x1 struct with 2 fields as shown:
i want to delete the one that has less faces and vertices for example here field number 4 i have tried this:
Faces = cellfun('length', {CClower.faces});
Vertices = cellfun('length', {CClower.vertices});
MinIdx = find(Faces <= 50);
but now how to select indexes that not equal to MinIdx that i extracted?

3 commentaires

Stephen23
Stephen23 le 4 Oct 2018
Modifié(e) : Stephen23 le 4 Oct 2018
"remove a struct field that its element value is less than specific 50"
This is not clear: it seems that you actually want to remove the fourth element of the structure, not any field of the structure. Is the expected output a 3x1 structure with two fields?
i need to remove the element that is smaller than 50 whatever is its location.
"i need to remove the element that is smaller than 50 whatever is its location."
That is what my answer does.

Connectez-vous pour commenter.

Réponses (1)

Stephen23
Stephen23 le 4 Oct 2018
Modifié(e) : Stephen23 le 4 Oct 2018
If you want to remove elements of the structure use logical indexing:
Faces = cellfun('length', {CClower.faces});
CClower(Faces<50) = []

Catégories

Commenté :

le 4 Oct 2018

Community Treasure Hunt

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

Start Hunting!

Translated by