Accessing all fields within a struct level at once
조회 수: 6 (최근 30일)
이전 댓글 표시
If I have a struct A which looks like:
A.('one').('include') ; A.('two').('include'); A.('three').('dont include');
and so on, how can I directly check if 'dont include' is present in the third level of the structure without having to use a loop. Is this possible to achieve without implementing a loop?
댓글 수: 2
Voss
2023년 12월 19일
'dont include' is not a valid field name, so what does the struct really look like?
Rather than describing the struct, maybe it's better to save it in a .mat-file and upload it here (using the paperclip button).
채택된 답변
추가 답변 (1개)
Nipun
2023년 12월 21일
편집: Nipun
2023년 12월 21일
Hi Vaishnavi,
I understand that you are trying to find if "dontinclude" is a structure property without using for loops.
One possible solution is to create a function which evaluates every level of structure to check if the property is present.
Here is an example code with the listed recommendation
funcCheck = @(struct)isfield(struct,'dontinclude');
structfun(funcCheck,A)
Returns a "n x 1" logical array, where "n" is the number of levels in the structure.
Link to documentation:
Hope this helps.
Regards,
Nipun
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!