How to access data from a struct when the dot notated reference is passed as a char array?
2 次查看(过去 30 天)
显示 更早的评论
I have loaded some struct data into a container I'm calling 'CMData' in my function.
I want the function to access the array of data in 'CMData.Car_ax.data' which I'm passing in a char array to the function as an argument called 'signal'
I want to perform some other functions such as Standard Deviation, and some boundary value checks in which I want to iterate over the contents of the struct array but Matlab is doing this on the char array rather than the fields of struct CMData. For example, if I count the number of elements in 'signal' I get 18, which is the number of characters that make up 'CMData.Car_ax.data' when really I'm looking for a value of 3250.
How do I change this so that I am using a struct reference and not a char array?
回答(1 个)
prasanth s
2019-10-11
To to get the field names of struct array, use 'fieldnames' function
S.x=1;
S.y=2;
fields = fieldnames(S)
then, to get the data from struct array, refer following code
data1 = S.(fields{1})
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!