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
"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?
sana3 sal
2018년 10월 4일
Stephen23
2018년 10월 4일
"i need to remove the element that is smaller than 50 whatever is its location."
That is what my answer does.
답변 (1개)
If you want to remove elements of the structure use logical indexing:
Faces = cellfun('length', {CClower.faces});
CClower(Faces<50) = []
카테고리
도움말 센터 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!