Matlab - Cargar archivos.mat

   
Vista:

Cargar archivos.mat

Publicado por David (7 intervenciones) el 22/03/2012 11:05:31
Hola a todos,
estoy intentando cargar un montón de archivos de datos pero no consigo hacerlo de forma que se carguen todos, solo se guarda el ultimo.
lo que tengo es lo siguiente:

for i=1:3
carga{i}=load(['prueba',num2str(i),'.mat']);
end

esto lo que me hace es tomar cada una de las matrices y me crea tantas estructuras como matrices 'prueba1', 'prueba2', etc tengo, en un mismo archivo llamado carga...
pero esto no es lo que quiero, solamente quiero que me carge las matrices tal cual las tengo, con los mismos nombre al workspace...

seguro que es muy sencillo, pero no lo veo

alguna idea??
un saludo y gracias de antemano

David
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

Cargar archivos.mat

Publicado por David (7 intervenciones) el 22/03/2012 13:30:26
Me respondo yo mismo,
simplemente omitir carga(i)=
y se consigue lo que se pretende.

Un saludo a todos
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

Cargar archivos.mat

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 22/03/2012 16:36:25
Hola David.
En tu autorespuesta que pones, los archivos prueba van a estar cambiando de datos, y al final solo se va quedar con el ultimo archivo de prueba y todo los demas archivos prueba anteriores no van a estar en workspace...
Utiliza la funcion genvarname() de matlab, con esta funcion sale lo que quieres hacer.
Yo acabo de resolver tu pregunta, pero me falta los archivos prueba.mat, lo he probado con otros archivos mat que tengo en mi bases de datos. Pero para hacer un codigo preciso a lo tú quieres, necesito saber como son tus archivos *.mat, porque derepente vas a querer hacer operaciones con eses archivos despues de importar y derepende alli mi codigo que hecho puede fallar, por la falta de informacion completa.
Es por eso motivo que aun no he copiado la solucion al foro. Para evitar que el usuario que hizo la pregunta me diga, tu codigo no funciona.
Si deseas mandame tu base de datos a mi correo para poder filtrarlo ya con la base precisa con la cual estas trabajando. Ademas una ideas generales que es lo quieres y tu nivel de conocimiento de matlab, ya que las preguntas se contestan segun el nivel de conocimientos de matlab de cada usuario de matlab.


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com/
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

Cargar archivos.mat

Publicado por David (7 intervenciones) el 27/03/2012 09:11:07
Hola,
respecto a lo que dices que se queda el último archivo solamente, me di cuenta al poco de colgar el post. Al final lo que hice fue lo siguiente:

for i=1:20
load(['carga',num2str(i),'.mat']);
carga{i}=Hist;
end
A= cell2mat(carga);

con la última linea del for se crea una cell con todos los datos, uno tras otro, y con cell2mat conviertes todas las cell en matrix; aunque es un poco engorroso ya que luego lo tienes todo en una sola matriz.
voy a probar genvarname() como dices, para ver que tal, que seguro que es más sencillo
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