Question

J'ai la structure suivante

data = 

                       id: [143x1 double]
                  datenum: [143x1 double]
                Timestamp: {143x1 cell}
         Min_F1_USA_40__u: [143x1 double]
         Max_F1_USA_40__u: [143x1 double]
        Mean_F1_USA_40__u: [143x1 double]
      Stddev_F1_USA_40__u: [143x1 double]
    MeanVals_F1_USA_40__u: [143x1 double]
          a0_F1_USA_40__u: [143x1 double]
          a1_F1_USA_40__u: [143x1 double]
          a2_F1_USA_40__u: [143x1 double]
          a3_F1_USA_40__u: [143x1 double]
      a4_F1_USA_40__u: [143x1 double]

Donc, j'ai plus de 50 champs dans la structure

J'ai 3 autres structures avec la même structure et je souhaite fusionner cette structure

Quand j'aurai 3 structures, j'obtiendrai la structure suivante

data = 

                       id: [429x1 double]
                  datenum: [429x1 double]
                Timestamp: {429x1 cell}
         Min_F1_USA_40__u: [429x1 double]
         Max_F1_USA_40__u: [429x1 double]
        Mean_F1_USA_40__u: [429x1 double]
      Stddev_F1_USA_40__u: [429x1 double]
        .
        .
        .
Était-ce utile?

La solution

Désolé, j'avais mal compris votre question - voici un deuxième essai.

Il existe peut-être un moyen plus simple, mais vous pouvez obtenir une liste de tous les champs de data en utilisant mynames=fieldnames(data).Vous pouvez ensuite les parcourir tous et les affecter à une structure commune comme celle-ci:

combineddata.(mynames{i})=[data1.(mynames{i}); data2.(mynames{i}); data3.(mynames{i})];

Autres conseils

Voici une solution utilisant les fonctions FIELDNAMES , CELLFUN et CELL2STRUCT :

data = [data1 data2 data3 data4];    %# Create a structure array of your data
names = fieldnames(data);            %# Get the field names
cellData = cellfun(@(f) {vertcat(data.(f))},names);  %# Collect field data into
                                                     %#   a cell array
data = cell2struct(cellData,names);  %# Convert the cell array into a structure
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top