Extracting data from struct as array
Show older comments
Hi, I have a following structure:
S(1).a = 1:10;
S(2).a = 11:20;
S(3).a = 21:30;
I want the output in the following format:
y = [1:10; 11:20; 21:30];
Using [S(1:3).a] concatenates it in a single direction. Is there a better way (other than for loop) to extract the data in the requisite format?
Thank you,
Rashi
Accepted Answer
More Answers (1)
You can use "vertcat()" for using the same. Refer to the following code:
% Your structure
S(1).a = 1:10;
S(2).a = 11:20;
S(3).a = 21:30;
% Extracting and concatenating
y = vertcat(S.a); % This works directly because of how MATLAB handles struct arrays
y
For more information on the function "vertcat()", refer to the following documentation:
2 Comments
Rashi Monga
on 13 Jun 2024
Edited: Rashi Monga
on 13 Jun 2024
Ganesh
on 13 Jun 2024
% After using vertcat
y = y(:,1:5);
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!