Matlab - Duda al leer un archivo entre paréntesis

   
Vista:

Duda al leer un archivo entre paréntesis

Publicado por Tamara (2 intervenciones) el 01/08/2016 20:33:30
Buenas a todos:

Estoy aprendiendo a utilizar matlab para realizar mi proyecto fin de carrera y tengo que leer un archivo de que me indica entre paréntesis (Hx,Hy) de esta forma:

(5.000000E-01,0.000000E+00) (5.000000E-01,0.000000E+00)
(5.000000E-01,0.000000E+00) (5.000000E-01,0.000000E+00)
(5.000000E-01,0.000000E+00) (5.000000E-01,0.000000E+00)
(5.000000E-01,0.000000E+00) (5.000000E-01,0.000000E+00)
(5.000000E-01,0.000000E+00) (5.000000E-01,0.000000E+00)
(5.000000E-01,0.000000E+00) (5.000000E-01,0.000000E+00)
(5.000000E-01,0.000000E+00) (5.000000E-01,0.000000E+00)
(5.000000E-01,0.000000E+00) (5.000000E-01,0.000000E+00)

Me gustaría leer por separado Hx y Hy pero no se como hacerlo, he indagado con fscanf pero no consigo dar con ello.

Adjunto tanto la función que he empezado a programar como el archivo que quiero leer.

Muchas gracias de antemano y 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

Duda al leer un archivo entre paréntesis

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 02/08/2016 21:19:10
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
clear
fid1=fopen('M101out.dat','r');
 i=1;
 while 1
 linea = fgetl(fid1);
 if ~ischar(linea),
     break,
 end
 hola1=strfind(linea,char(40));
 hola2=strfind(linea,char(41));
if length(hola1)==2  && length(hola2)==2
     hola3=strfind(linea,char(44));
      Hxx{i,1}=linea(hola1(1):hola2(1));
      Hyy{i,1}=linea(hola1(2):hola2(2));
 
      Hx(i,1)=str2num(linea(hola1(1)+1:hola3(1)-1));
      Hx(i,2)=str2num(linea(hola3(1)+1:hola2(1)-1));
       Hy(i,1)=str2num(linea(hola1(2)+1:hola3(2)-1));
       Hy(i,2)=str2num(linea(hola3(2)+1:hola2(2)-1));
       i=i+1;
end
 end
fclose(fid1);
 Hx, Hy
 Hxx, Hyy


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
>> importacion_de_texto
Hx =
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
 
 
Hy =
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
    0.5000         0
 
 
Hxx =
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
 
 
Hyy =
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'
    '(5.000000E-01,0.000000E+00)'


Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Programador en Matlab
Servicios de programación matlab
jjcc94@hotmail.com
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
2
Comentar

Duda al leer un archivo entre paréntesis

Publicado por Tamara (2 intervenciones) el 02/08/2016 22:14:39
Muchísimas gracias Jose, me has sido de gran ayuda.
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