• Jueves 20 de Febrero de 2025, 20:02

Autor Tema:  Lectura txt con fscanf  (Leído 1291 veces)

meco_cl

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Lectura txt con fscanf
« en: Domingo 4 de Octubre de 2009, 12:47 »
0
Bueno primero, hola a todos, tengo un documento que presenta el siguiente formato (ejemplo):

prueba 345 788 auto
1 3 4 5 6
2 3 4 5 6
5 6 3 8 1
6 3 7 9 0

el problema es que no se de que tamaño sera la matriz que se aprecia desde la segunda fila, podria ser mayor o menor, y necesito cargarla en una variable sin modificar el documento. el script que llevo hasta ahora es el siguiente:

Código: Matlab M
  1. fid = fopen('prueba.txt', 'r');
  2. texto=fscanf(fid,'%s',1)
  3. xcoor=fscanf(fid,'%f',1)
  4. texto=fscanf(fid,'%f',1)
  5. zcoor=fscanf(fid,'%s',1)
  6.  
  7. a = fscanf(fid,'%f %f',[1 inf])
  8.  

 :oops:  pero con este script me deja la matriz en una sola fila, lo cual no me sirve, espero puedan ayudarme, desde ya gracias

allisap

  • Miembro MUY activo
  • ***
  • Mensajes: 259
  • Nacionalidad: mx
    • Ver Perfil
Re: Lectura txt con fscanf
« Respuesta #1 en: Viernes 16 de Octubre de 2009, 05:33 »
0
Saludos


1 3 4 5 6
2 3 4 5 6
5 6 3 8 1
6 3 7 9 0

 a= fscanf(fid,'%f %f',[1 inf])  
creo que el problema es que tienes 5 columnas así que deberías escribir algo como
 a= fscanf(fid,'%f %f %f %f%f',[5 inf])

saludos.


Victor Pasilla Campos

meco_cl

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Lectura txt con fscanf
« Respuesta #2 en: Lunes 23 de Noviembre de 2009, 14:17 »
0
Bueno Victor, disculpa la demora, pero lo que ocurre es que no se que tamaño tendra la matriz, mira como puedo ingresar una letra en las filas de la matriz, es decir que de esto:

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
2 3 4 5 6

quede esto:

a 1 2 3 4 5
a 1 2 3 4 5
a 1 2 3 4 5
a 2 3 4 5 6
 asi podria diferenciar las filas, saludos