Vertically concatenate a 2 column comma separated list

1 view (last 30 days)
I have a structure of size 100 extracted from regionprops called stat. Id like to extract the column of data that stores the centroids of each component. Since they are in a list, I tried
centroids = [stat(:).Centroid]';
but it gives me an array of size 200 meaning it doesnt concatenate properly. Then I tried
x = [stat(:).Centroid(1)];
y = [stat(:).Centroid(2)];
but I get an error "Scalar index required for this type of multi-level indexing". Id like the result to be an array of 100 rows and 2 columns. Can someone suggest what I can do ? This is so difficult.

Accepted Answer

Guillaume
Guillaume on 17 Jan 2017
[a, b] is the same as horzcat, [a; b] is the same as vertcat, so to obtain the result you want:
centroids = vertcat(stat.Centroid);
  1 Comment
RuiQi
RuiQi on 17 Jan 2017
wow i didnt know such a function existed. I guess thats how I will handle comma separated lists in the future thanks !

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!