Change table of structs into columns of data in a table

14 visualizzazioni (ultimi 30 giorni)
I have many tables which contain anywhere from 2000 - 7500 1x1 structs in one column. Each struct contains a value for x, y and z positions. I need to extract these 3 numbers from each struct and have them in their own columns (as just regular floats). The end result will be a table with a column for x values, a column for y values, and a column for z values.
I've attached an example file (.mat).
What is an efficient way to do this?

Risposta accettata

Mohammad Sami
Mohammad Sami il 8 Set 2020
Based on your example data this will work. All structs must have the exact same fields, otherwise this will fail
flattened = struct2table(vertcat(data{:,1}));
  1 Commento
Centauri Jolene
Centauri Jolene il 9 Set 2020
Thank you this worked perfectly. I just had to change it to
flattened = struct2table(vertcat(data.dog1_pos(:,1)));
since it wasnt a cell array. Cheers

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by