Matlab - Leer varios archivos con el mismo nombre

 
Vista:

Leer varios archivos con el mismo nombre

Publicado por David (18 intervenciones) el 11/04/2011 04:33:46
El problema que tengo es el siguiente:

Tengo una función como la siguiente:

tengo varios archivos con el mismo nombre pero con distinta extensión y me gustaria no tener que escribir todos los archivos que tengo que utilizar. Sería posible llamar a la carpeta donde se encuentran los archivos desde matlab y que reconociera cual debe coger dependiendo de la extensión?

El ejemplo es el siguiente:
Tengo una carpeta llamada datos y dentro los siguientes archivos datos.a, datos.b, datos.c.........

Por otro lado he creado una función que me lee los datos de los archivos con extensión a f y g pero tiene este aspecto:

function leerdatos (archivopuntoa,archivopuntof,archivopuntog)

y para ejecutarla tengo que escribir:

leerdatos(datos.a,datos.f,datos.g)

Los nombres no son tan cortos como ''datos'' y me gustaría poder escribir simplemente datos y que matlab encontrara dentro de esa carpeta las extensiones que necesito.

Es posible? Si se les ocurrira alguna otra solución para no tener que escribir tanto tambien se lo agradeceria.

Muchas gracias.

Un saludo.
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Leer varios archivos con el mismo nombre

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 11/04/2011 06:38:52
Hola David.
A la pregunta: "tengo varios archivos con el mismo nombre pero con distinta extensión y me gustaria no tener que escribir todos los archivos que tengo que utilizar. Sería posible llamar a la carpeta donde se encuentran los archivos desde matlab y que reconociera cual debe coger dependiendo de la extensión?".
hice un programa pequeño a tu pregunta:
Tengo 3 archivos con nombres de: datos.*, donde *: puede ser: txt, xls, doc.

datos.txt (nombre del archivo) y contiene este informacion:
0.9575 0.1576 0.9572
0.9649 0.9706 0.4854

datos.xls (nombre del archivo) y contiene este informacion:
0.1270 0.6324 0.2785
0.9134 0.0975 0.5469

datos.doc (nombre del archivo) y contiene este informacion:
0.8003 0.4218 0.7922
0.1419 0.9157 0.9595

Ahora el programa es:
%================================================
clear all,
ext=input('Ingrese la extension del archivo datos1:','s');
a=importdata(['datos1.',ext])
%================================================

%EJECUCION:

>> importaciondatos
Ingrese la extension del archivo datos:xls
a =
0.1270 0.6324 0.2785
0.9134 0.0975 0.5469

>> importaciondatos
Ingrese la extension del archivo datos:txt
a =
0.9575 0.1576 0.9572
0.9649 0.9706 0.4854

Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB

>> importaciondatos
Ingrese la extension del archivo datos:doc
a =
0.8003 0.4218 0.7922
0.1419 0.9157 0.9595
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

Leer varios archivos con el mismo nombre

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 11/04/2011 06:43:24
Hola David.
HUBO ERROR AL COPIAR AL FORO, en la respuesta ANTEROR.

A la pregunta: "tengo varios archivos con el mismo nombre pero con distinta extensión y me gustaria no tener que escribir todos los archivos que tengo que utilizar. Sería posible llamar a la carpeta donde se encuentran los archivos desde matlab y que reconociera cual debe coger dependiendo de la extensión?".
hice un programa pequeño a tu pregunta:
Tengo 3 archivos con nombres de: datos1.*, donde *: puede ser: txt, xls, doc.

datos1.txt (nombre del archivo) y contiene este informacion:
0.9575 0.1576 0.9572
0.9649 0.9706 0.4854

datos1.xls (nombre del archivo) y contiene este informacion:
0.1270 0.6324 0.2785
0.9134 0.0975 0.5469

datos1.doc (nombre del archivo) y contiene este informacion:
0.8003 0.4218 0.7922
0.1419 0.9157 0.9595

Ahora el programa es:
%================================================
clear all,
ext=input('Ingrese la extension del archivo datos1:','s');
a=importdata(['datos1.',ext])
%================================================

%EJECUCION:

>> importaciondatos
Ingrese la extension del archivo datos1:xls
a =
0.1270 0.6324 0.2785
0.9134 0.0975 0.5469

>> importaciondatos
Ingrese la extension del archivo datos1:txt
a =
0.9575 0.1576 0.9572
0.9649 0.9706 0.4854

>> importaciondatos
Ingrese la extension del archivo datos1:doc
a =
0.8003 0.4218 0.7922
0.1419 0.9157 0.9595


Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB
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

Leer varios archivos con el mismo nombre

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 11/04/2011 06:57:57
Hola David.
A la pregunta: "Los nombres no son tan cortos como ''datos'' y me gustaría poder escribir simplemente datos y que matlab encontrara dentro de esa carpeta las extensiones que necesito."
tambien hice un pequeño programa:
Tengo 3 archivos con nombres de: datos1.*, donde *: puede ser: txt, xls, doc.

datos1.txt (nombre del archivo) y contiene este informacion:
0.9575 0.1576 0.9572
0.9649 0.9706 0.4854

datos1.xls (nombre del archivo) y contiene este informacion:
0.1270 0.6324 0.2785
0.9134 0.0975 0.5469

datos1.doc (nombre del archivo) y contiene este informacion:
0.8003 0.4218 0.7922
0.1419 0.9157 0.9595


clear all,
nombre_arc=input('Ingrese el nombre del archivo sin extension:','s');
a=importdata([nombre_arc,'.xls'])
b=importdata([nombre_arc,'.doc'])
c=importdata([nombre_arc,'.txt'])

%EJECUCION:
>> importaciondatos
Ingrese el nombre del archivo sin extension:datos1

a =
0.1270 0.6324 0.2785
0.9134 0.0975 0.5469

b =
0.8003 0.4218 0.7922
0.1419 0.9157 0.9595

c =
0.9575 0.1576 0.9572
0.9649 0.9706 0.4854

JOSÉ JEREMIAS CABALLERO
ASESOR DE PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB
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

Leer varios archivos con el mismo nombre

Publicado por David (18 intervenciones) el 12/04/2011 03:01:45
Muchisimas gracias, era exactamente lo que buscaba.

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

Leer varios archivos con el mismo nombre

Publicado por David (18 intervenciones) el 12/04/2011 03:32:28
Aunque otra cosa que se me ocurre que no se si se podrá.

Todos esos archivos se encuentran dentro de una carpeta con el mismo nombre. Habría posibilidad de que Matlab abriera la carpeta y luego hiciera lo que me has puesto.

Tengo entendido que en matlab los archivos tienen que estar en la misma carpeta que las funciones, entonces para cada caso anterior, tendría que copiar todos los archivos de la carpeta datos en la carpeta donde tengo todas las funciones a las que llama matlab y sería muy interesante que simplemente tuviera que copiar la carpeta entera, no todos los archivos.

Por otro lado hay alguna manera de que matlab busque esta carpeta, si por ejemplo estas carpetas estuvieran siempre en el escritorio, es decir, que ni siquiera tuviera que copiar la carpeta de datos en la carpeta de las funciones sino que indicandole a matlab donde se encuentran dichas carpetas, las abriera y las utilizara.

Gracias.

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 Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Leer varios archivos con el mismo nombre

Publicado por Dave (1094 intervenciones) el 13/04/2011 02:58:58
Hola David;

Una opción es que utilices la función dir para listar todos los archivos de una determinada extensión y luego procesarlas en un bucle for.

Espero que sea de alguna ayuda.

Saludos
Dave
[email protected]

............................

clear,clc

direc='D:\usuarios\Datos';

list = dir([direc,'/*.txt']);
list = list(~cellfun(@isempty,{list(:).date}));

nf=length(list);

for na=1:nf

% operaciones especificas para cada uno de los archivos;

end
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

Leer varios archivos con el mismo nombre

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/04/2011 03:56:50
Claro que hay solucion para tu pedido.

Intentalo y cuelga tu avancae al foro y yo te ayudo.


JOSÉ JEREMIAS CABALLERO
ASESOR DE PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB
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

Leer varios archivos y que me lea los datos de la ultima fila

Publicado por Harold (1 intervención) el 02/12/2011 12:40:38
Tengo un problema, quisiera que me importe varios archivos con la extensión '.mrk', por ejemplo en las 3 primeras filas son texto y en la cuarta datos, depues en la 5º al 7 fila texto y en la 8º datos, y asi sucesivamente, lo que me interesa son los datos de la ultima fila y el resto eliminarlo, quisera q me lea todos los archivos con extensión mrk y q me lea la ultima fila, Gracias de antemano.
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

Leer varios archivos y que me lea los datos de la ultima fila

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/12/2011 00:31:01
hola Harold.

Mandame tu archivos a mi correo.
Para poder ver y hacer el codigo.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
[email protected]
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

como envio varios editores en un mismo programa matlab por correo?

Publicado por jerson solano (1 intervención) el 30/10/2014 16:06:59
como envio varios editores en un mismo archivo de matlab por correo?
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