Pregunta

Tengo la siguiente estructura

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]

Entonces, tengo más de 50 campo en la estructura

Tengo otra estructura 3 con la misma estructura y quiero fusionar esta estructura

Cuando tenga 3 struct, obtendré la siguiente estructura

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]
        .
        .
        .
¿Fue útil?

Solución

Lo siento, había entendido mal tu pregunta, aquí un segundo intento.

Tal vez haya una manera más fácil, pero puede obtener una lista de todos los campos en data usando mynames=fieldnames(data). Luego puede atravesarlos a todos y asignarlos a una estructura común como esta:

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

Otros consejos

Aquí hay una solución que usa las funciones Nombres de campo, Cañón celular, y Estructiva Cell2:

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top