Matlab - Como concatenar varias matrices y guardarlas en un acumulador

 
Vista:
Imágen de perfil de Manuel

Como concatenar varias matrices y guardarlas en un acumulador

Publicado por Manuel (6 intervenciones) el 11/07/2017 02:23:06
Buenas gente,

definitivamente me rindo acudo a ustedes, la situacion es la siguiente:

estoy leyendo varios archivos mediante un for, cada uno tiene cuatro columnas las cuales debo acumular y en el siguiente ciclo ubicar las siguientes cuatro columnas debajo de las cuatro columnas anteriores, es decir, tengo un archivo con valores 5 4 3 2, cuando el for lee el segundo archivo, por ejemplo, 1 2 3 4 quiero colocar estos valores debajo de los anteriores para que queden

5 4 3 2
1 2 3 4

y asi consecutivamente con todos los archivos

5 4 3 2
1 2 3 4
x x x x
x x x x

etc...

y al final estoy intentando que me arroje un archivo .dat con todos esto valores acumulados. me pueden ayudar por favor.

ahora, cabe aclarar que estoy extrayendo los datos de un archivo uno por uno, el cual los archivos no tienen la misma cantidad de datos de otros archivos, pero cada archivo si tiene la misma cantidad de datos entre columnas.

la otra es si no lo hago con matrices.

Gracias, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lindsey
Val: 419
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como concatenar varias matrices y guardarlas en un acumulador

Publicado por Lindsey (7 intervenciones) el 11/07/2017 05:23:27
Hola, espero que esto te sirva:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
% Suponiendo que esta es la información de 4 archivos diferentes
archivo1=[1 2 3 4;
          5 6 7 8
          9 10 11 12];
archivo2=[13 14 15 16;
          17 18 19 20];
archivo3=[21 22 23 24
          25 26 27 28
          29 39 31 32
          33 34 35 36
          37 38 39 40];
archivo4=[41 42 43 44
          45 46 47 48
          49 59 51 52
          53 54 55 56];
 
no_archivos=4; % Número de archivos
j=0;           % Sería un contador de filas del acumulador
 
for i=1:no_archivos
    lectura=eval(strcat('archivo',num2str(i))); % Esto correspondería a la lectura del archivo
    acumulador(j+1:j+size(lectura,1),:)=lectura;
    j=size(acumulador,1);
end

Como ejemplo puse 4 variables que simulan 4 archivos (archivo1,...,archivo4), cada uno con un número diferente de filas pero todos con un mismo número de columnas.

Resultado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
acumulador =
 
     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16
    17    18    19    20
    21    22    23    24
    25    26    27    28
    29    39    31    32
    33    34    35    36
    37    38    39    40
    41    42    43    44
    45    46    47    48
    49    59    51    52
    53    54    55    56
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar