Concatenating data from structure array for plotting
显示 更早的评论
I have a structure array with several levels of depth that I am trying to extract a specific set of data from in order to plot it. The plan is to draw individual elements from several different fields, and then combine them into a single array for plotting. I know that normally structures can be concatenated using [], but it doesn't seem to be working for this instance.
plot(x_values,[files([files.Param] == condition).Zone(1).Values(1,4)]);
Expected one output from a curly brace or dot indexing expression, but there were multiple results.
I know that the inner conditional statement is working, as I can extract it and get the appropriate logic matrix, but that means that I am looking at multiple elements of 'files' (which is exactly what I want to do), but they do not seem to be concatenating properly. Any suggestions would be appreciated.
采纳的回答
更多回答(1 个)
Mehmet Burak Ekinci
2022-8-18
0 个投票
You may use custom matlab functions from file exchange to get values from nested struct arrays
See Answer in link for example.
1 个评论
Or use the inbuilt GETFIELD and SETFIELD :
or use comma-separated lists:
and then you can avoid needing to use any third-party functions.
类别
在 帮助中心 和 File Exchange 中查找有关 Structures 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!