Crear matriz en un bucle
Publicado por Kongosto (12 intervenciones) el 21/02/2008 16:07:59
Hola,
después de varios años vuelvo a trabajar con Matlab y como podeis ver se me ha olvidado lo poco que sabía.
Necesito ayuda con la creación de una matriz dentro de un bucle. Os cuento, estoy leyendo un fichero txt,y quiero almacenar los datos de cada fila del fichero en tres campos de una matriz, por lo que mi matriz debe tener tantas filas como lineas tenga el fichero y tres columnas. Os pongo aquí el código que he puesto y a ver si me podéis ayudar, porque no funciona.
id=fopen(file_in,'r');
if id==-1
error(sprintf('El archivo "%s" no pudo abrirse para lectura.','nombre_archivo'))
end
i=1;
while ~feof(id)
linea = fgetl(id ); % lee toda la línea
[token1, remain1] = strtok(linea);
Lineas(i,1)=token1;
[token2, remain2] = strtok(remain1);
Lineas(i,2)=token2;
Lineas(i,3)=remain2;
i=i+1;
end
fclose(id) % cierra el archivo leído
Muchas gracias y saludos.
después de varios años vuelvo a trabajar con Matlab y como podeis ver se me ha olvidado lo poco que sabía.
Necesito ayuda con la creación de una matriz dentro de un bucle. Os cuento, estoy leyendo un fichero txt,y quiero almacenar los datos de cada fila del fichero en tres campos de una matriz, por lo que mi matriz debe tener tantas filas como lineas tenga el fichero y tres columnas. Os pongo aquí el código que he puesto y a ver si me podéis ayudar, porque no funciona.
id=fopen(file_in,'r');
if id==-1
error(sprintf('El archivo "%s" no pudo abrirse para lectura.','nombre_archivo'))
end
i=1;
while ~feof(id)
linea = fgetl(id ); % lee toda la línea
[token1, remain1] = strtok(linea);
Lineas(i,1)=token1;
[token2, remain2] = strtok(remain1);
Lineas(i,2)=token2;
Lineas(i,3)=remain2;
i=i+1;
end
fclose(id) % cierra el archivo leído
Muchas gracias y saludos.
Valora esta pregunta


0