Matlab - lectura de datos y guardar en variables

 
Vista:
sin imagen de perfil

lectura de datos y guardar en variables

Publicado por Santi (7 intervenciones) el 17/01/2014 09:32:41
Hola, mi consulta es la siguiente, tengo un archivo de texto del que quiero extraer la información subrayada para guardarla en variables de matlab. Tengo que tener en cuenta que más adelante tendré archivos semejantes pero con otros datos del mismo formato en los campos subrayados de los que tendré que sacar las mismas variables.
¿Como lo puedo hacer?




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

lectura de datos y guardar en variables

Publicado por Santi (7 intervenciones) el 17/01/2014 09:57:46
Mejor así y supongo que será 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
sin imagen de perfil

lectura de datos y guardar en variables

Publicado por Santi (7 intervenciones) el 17/01/2014 11:27:09
Ya lo he resuelto:

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
58
59
60
61
62
63
64
65
clear all
tilde=char(39);
nombre='Inp_Prodisc_Ext_20_Archivo_de_casos_p1_c'
j=1;
 
 
eval(['fid=fopen(' tilde ,nombre,num2str(j),'.INP' tilde ',' tilde 'r' tilde ')' ]);
for i=1:2
    line=fgetl(fid)
end
vectorlogico=line=='_';
posicion=find(vectorlogico==1)
i1=posicion(2)
i2=posicion(3)
 
 
 
 
[n,m]=size(line); % size detecta el tamaño de la celda line
for j=1:m % for desde desde 1 hasta m
 
    solicitacion=[line(i1+1:i2-1)];
   grados=[line(i2+1:i2+2)];
 
end
 
for i=1:5
    line=fgetl(fid)
end
[n,m]=size(line); % size detecta el tamaño de la celda line
 
vectorlogico=line=='=';
i1=find(vectorlogico==1);
 
vectorlogico=line=='#';
i2=find(vectorlogico==1);
 
Kx=[line(i1+2:i2-2)];
 
line=fgetl(fid)
 
[n,m]=size(line); % size detecta el tamaño de la celda line
 
vectorlogico=line=='=';
i1=find(vectorlogico==1);
 
vectorlogico=line=='#';
i2=find(vectorlogico==1);
Ky=[line(i1+2:i2-2)];
 
line=fgetl(fid)
 
[n,m]=size(line); % size detecta el tamaño de la celda line
 
vectorlogico=line=='=';
i1=find(vectorlogico==1);
 
vectorlogico=line=='#';
i2=find(vectorlogico==1);
Kz=[line(i1+2:i2-2)];
 
% nombre=[solicitacion grados Kx Ky Kz]
 
 
fclose(fid);
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

lectura de datos y guardar en variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 17/01/2014 12:58:30
Podrías subir dos archivos de block de notas para probarlo. Me gustaría ver que forma tiene otro archivo de block de notas y de estas manera hacer un programa en general.


Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

lectura de datos y guardar en variables

Publicado por Santi (7 intervenciones) el 17/01/2014 13:19:40
Hola Jose, no hace falta, son todos los archivos iguales solo que varían los datos, este programita que he hecho me sirve para cualquiera de ellos, por lo tanto es un programita general. Todos tienen la misma forma y los mismos espaciados.
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

lectura de datos y guardar en variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 17/01/2014 13:25:13
Bueno yo quería un archivo incito para poder hacer un código, siempre trato de hacer mis propios códigos para poder entenderlo en todo sus ambitos y de esta manera poder manipularlo, según las necesidades.
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

lectura de datos y guardar en variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 17/01/2014 15:32:20
1
2
3
4
5
6
7
>> Inp_Prodisc_Ext_20_Archivo_de_caso_p1_c2
 
M =
 
    ' Inp_Prodisc_Ext_20 '     ' 12000.0 '     ' 0.00000000000000001 '     ' 0.10000000000000001 '
    ' Inp_Prodisc_Ext_25 '     ' 13000.0 '     ' 0.00000000000000004 '     ' 0.80000000000000001 '
    ' Inp_Prodisc_Ext_445 '    ' 130005.0 '    ' 0.000000000000000054 '    ' 0.8000000000000000156 '
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

lectura de datos y guardar en variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 17/01/2014 16:13:02
1
2
3
4
5
6
7
>> Inp_Prodisc_Ext_20_Archivo_de_caso_p1_c4
 
M =
 
    ' Inp_Prodisc_Ext_20 '     ' 12000.0 '     ' 0.00000000000000001 '         ' 0.10000000000000001 '
    ' Inp_Prodisc_Ext_25 '     ' 13000.0 '     ' 0.00000000000000004 '         ' 0.80000000000000001 '
    ' Inp_Prodisc_Ext_445 '    ' 130005.0 '    ' 0.0000000000000000000054 '    ' 0.8000000000000000156 '
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