Matlab - Guardar varios archivos con un bucle

 
Vista:

Guardar varios archivos con un bucle

Publicado por Juan manuel (2 intervenciones) el 07/03/2018 19:43:44
Hola. En el programa ( matlab) genero 52 matrices que las quiero guardar en varios archivos con nombres el mismo nombre pero que cambien solo en un numero al final.
Desde ya muchas gracias
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
sin imagen de perfil

Guardar varios archivos con un bucle

Publicado por Álvaro (32 intervenciones) el 13/03/2018 10:40:47
Las matrices son del mismo orden?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar varios archivos con un bucle

Publicado por Juan manuel (2 intervenciones) el 14/03/2018 16:17:24
Si. son todas del mismo orden
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar varios archivos con un bucle

Publicado por Álvaro (32 intervenciones) el 15/03/2018 08:24:26
No sé cómo las has generado, pero lo suyo es que no estén en diferentes variables sino que, al tener las mismas dimensiones, estén almacenadas en una matriz multidimensional (nxmx52); esto lo que hace es guardarte en una sola variable las 52 matrices (mxn) apiladas, de forma que puedes acceder a ellas
1
Tu_ristra_de_matrices(:,:,3) %para la tercera por ejemplo

Para guardarlas creo que lo mejor es en un .mat usando el comando "save", y cargándola con "load", los cuales los tienes explicados con claridad en la ayuda de Matlab. Creo que guardar las variables en este tipo de archivos te admite guardar vectores de diferentes dimensiones y que no te dé por saco; lo que te he comentado al principio es para simplificar tu código si no lo tenías guardado ya de esa forma. Si no lo tenías así y quieres ver cómo se hace sube tu código sobre cómo generas las matrices y te paso el comando.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Guardar varios archivos con un bucle

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 15/03/2018 14:45:06
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
30
>> clear all
for j=1:3
    A=round(24*rand(3,5));
   v=genvarname(['Matriz',num2str(j)])    ;
   eval([v,'=A'])
 
end
 
Matriz1 =
 
     9    17    17     1     3
    24    13     1    21    10
     7     5     4    20     3
 
 
 
 
 
Matriz2 =
 
    14    24    16     2     6
    23     8    23     9     1
     6     5    15     4    22
 
 
Matriz3 =
 
    19    18     9    13    12
     9    15     2    11    20
    20     9     8    15     2

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar varios archivos con un bucle

Publicado por Álvaro (32 intervenciones) el 16/03/2018 08:30:14
Me ha gustado mucho la función genvarname, no la conocía!

Aporto mi opción:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
clear all
 
matriz=zeros(4,5,52) %Genero 52 matrices de ceros de orden 4x5, porque no sé de qué orden son las tuyas
 
a=size(matriz)
b=a(3) %por si cambias el número de matrices que quieres cambiar, así el bucle no lo tienes que cambiar también
 
for ii=1:b
      A=round(24*rand(4,5));
      matriz(:,:,ii)=A %Aquí guardas cada matriz apilándolas según avanza el bucle
end
 
filename='mi_archivo.mat'
save(filename, matriz) %Aquí guardas la variable matriz en un archivo .mat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Guardar varios archivos con un bucle

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/03/2018 12:14:17
las quiero guardar en varios archivos con nombres el mismo nombre pero que cambien solo en un numero al final.

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
30
>> clear all
for j=1:3
    A=round(24*rand(3,5));
   v=genvarname(['Matriz',num2str(j)])    ;
   eval([v,'=A'])
 
end
 
Matriz1 =
 
     9    17    17     1     3
    24    13     1    21    10
     7     5     4    20     3
 
 
 
 
 
Matriz2 =
 
    14    24    16     2     6
    23     8    23     9     1
     6     5    15     4    22
 
 
Matriz3 =
 
    19    18     9    13    12
     9    15     2    11    20
    20     9     8    15     2

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar varios archivos con un bucle

Publicado por Álvaro (32 intervenciones) el 16/03/2018 13:24:09
Pero, ¿Para qué tener 52 archivos en una carpeta pudiendo tener 1?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Guardar varios archivos con un bucle

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/03/2018 15:44:06
Pueda que sea para acceder en forma personalizada a cada uno de ellos o poder visualizarlo en forma personalizada. O usar en un listbox, donde pueda hacer un clic en el nombre de archivo y se visualice sola parte deseada. Todo depende que es lo desea hacer el usuario.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar