Using structfun with nested structures
显示 更早的评论
Hi everyone,
I have an overarching structure, with nested substructure, in the following format:
overarching(k).nested
with k=1:8. These nested structures have different sizes, and I was trying to compute the size of each nested structure using structfun as follows:
nested_size=structfun(@size,overarching,'UniformOutput',0)
However, the input structure is non-scalar, and it does not work. I can get the size of each nested structure using a loop to iterate on the nested structures, but I would like to avoid loops if possible. Is there a way of doing this using structfun, that I am not aware of?
Thank you in advance for your help!
采纳的回答
更多回答(1 个)
You should be able to wrap it in an arrayfun. This is likely slower than using a for loop, as arrayfun tends to be, but if you are determined not to use a loop it should do the job. Personally I prefer arrayfun to a for loop where speed is not an issue because it looks neater to me, but it is a matter of preference when it comes to that.
If you can upload a sample of your structure I can test it to get the syntax, but I don't have time to be trying to create the right kind of nested structures myself to test right now.
类别
在 帮助中心 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!