Matlab - archivos txt en matlab

 
Vista:

archivos txt en matlab

Publicado por Michelle Cadavid (2 intervenciones) el 10/05/2016 02:00:24
Buenas noches, soy nueva empleando Matlab y hay algo que necesito realizar, llevo todo el día buscando y no encuentro la manera aunque probablemente sea sencillo:
debo Leer archivos a partir de un archivo indice y obtener todos los datos para procesar
el archivo indice ya lo tengo hecho y debe ser en formato txt, logro abrirlo de esta manera:
fid= fopen('indice.txt','r')
data= fread (fid);
CharData= char (data);
fclose(fid);
disp(CharData');
%el apostrofe porque de lo contrario eso me imprimía vertical (O.o)

en fin, pero no entiendo como hacer para que me abra los otros 5 archivos a partir de lo que contiene el indice, intenté... pues poniendo las ordenes de abrir dentro del indice.txt jajajaajaja pero obviamente las tomó como string dentro del archivo así que solo las imprime y ya

alguien por favor ayude a esta pobre alma que no sabe programar </3
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

archivos txt en matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/05/2016 14:38:26
No dices como se llaman tu archivos txt.
Te doy una respuesta aproximado a lo que deseas.
1
2
3
4
5
6
7
8
9
10
>> clear all
indices=dir('t*.txt');
for i=1:5
nombre=indices(i).name
fid= fopen(nombre,'r');
data= fread (fid);
CharData= char (data);
fclose(fid);
disp(CharData');
end

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
nombre =
 
TransformadadeFourier2.txt
 
4.0616,2.1876
-0.039045+0.94321i,-0.008845+0.69896i
0.14472+0.27648i,0.11328-0.49863i
0.23466,0.88682
0.14472-0.27648i,0.11328+0.49863i
-0.039045-0.94321i,-0.008845-0.69896i
 
 
nombre =
 
TransformadadeFourier3.txt
 
4.0616
-0.039045+0.94321i
0.14472+0.27648i
0.23466
0.14472-0.27648i
-0.039045-0.94321i
 
 
nombre =
 
TransformadadeFourier4.txt
 
2.1876
-0.008845+0.69896i
0.11328-0.49863i
0.88682
0.11328+0.49863i
-0.008845-0.69896i
 
 
nombre =
 
textread1.txt
 
MacOVNI:0013A2004086A480 MacBal:0013A2004086A4A0 RSSI:-58 Timesp:20091020180026
 
MacOVNI:0013A2004086A480 MacBal:0013A2004086A491 RSSI:-58 Timesp:20091020180026
 
MacOVNI:0013A2004086A480 MacBal:0013A2004086A4D8 RSSI:-72 Timesp:20091020180026
 
MacOVNI:0013A2004086A480 MacBal:0013A2004086A4A0 RSSI:-60 Timesp:20091020180030
 
MacOVNI:0013A2004086A480 MacBal:0013A2004086A491 RSSI:-66 Timesp:20091020180031
 
MacOVNI:0013A2004086A480 MacBal:0013A2004086A4D8 RSSI:-72 Timesp:20091020180031
 
nombre =
 
textread2.txt
 
Sally    Level1 12.34 45 Yes

Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
El correo es para servicios de programación, toda ayuda gratuita es vía foro.



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

archivos txt en matlab

Publicado por Michelle Cadavid (2 intervenciones) el 11/05/2016 00:11:50
ahora me doy cuenta que había descrito mal el problema, le pido mil disculpas; el archivo no es indice en el contexto matemático sino como los indices que puedes encontrar en un libro o revista, lo siguiente es el contenido:

Indice.txt
cantidad de Archivos: 5
Estudiantes totales : 27

parcial1.txt
parcial2.txt
practica1.txt
practica2.txt
practicafinal.txt

entonces hay que abrirlo y en base a el, lograr abrir los otros cinco archivos (cuyos nombres aparecen después de los estudiantes totales)
alguien me envió un ejemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
index = 'files.txt';
archivo = fopen(index, 'r');
otros = {};
contenido = {};
 
while (!feof(archivo))
	linea = fgetl(archivo);
	otros(end + 1) = linea;
end
 
for a=1:length(otros)
	unarchivo = fopen(otros{a},'r');
	while (!feof(unarchivo))
		unalinea = fgetl(unarchivo);
		contenido(end+1) = unalinea;
	end
end
 
disp(contenido)

es ese, abre el archivo indice que en este caso es files, el cual contiene el nombre de otros dos archivos unicamente, los cuales son hola1 y hola 2, pero ese ejemplo tiene errores de sintaxis que no he podido solucionar y mucho menos aplicar en mi programa.
Gracias por su tiempo y atención.
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