Matlab - añadir numeracion correlativa

 
Vista:

añadir numeracion correlativa

Publicado por francisco (1 intervención) el 09/05/2013 19:52:53
Buenos dias:

Tengo un fichero de texto tal que asi:
1
2
3
4
5
juan
 pedro
 francisco
 marta
 maria


El numero de nombres puede variar, puede ser desde un nombre hasta mil nombres.

Lo que yo quiero es generar un nuevo archivo que sea asi:

1
2
3
4
5
X0 juan
X1 pedro
X2 francisco
X3 marta
X4 maria


Es decir, que al inicio de cada linea donde esta cada nombre incluya el texto X seguido de un numero el cual ira aumentando por cada linea que haya de nombre.

La primera linea del archivo siempre sera un nombre, y nunca habra espacios entre linea y linea.

¿Alguna ayuda?

Un saludo a todo el foro
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

añadir numeracion correlativa

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/05/2013 02:16:10
Hay abundante informacion en el foro para hacer tu pregunta, como por ejemplo este:
http://www.lawebdelprogramador.com/foros/Matlab/1380874-Ayuda_para_tratar_datos_de_una_medicion_en_Matlab.html

Basta modificar este código para tu pregunta, estudia este código y modifícalo.
Así tendría que salirte.

EJECUCION
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>> importandodatostexto21
 
entrada =
 
    ' juan'
    ' pedro'
    ' francisco'
    ' marta'
    ' maria'
 
 
salida =
 
    'X0  juan '
    'X1  pedro '
    'X2  francisco '
    'X3  marta '
    'X4  maria '



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

añadir numeracion correlativa

Publicado por francisco (2 intervenciones) el 14/05/2013 15:18:46
Hola Jose:

He llegado a este punto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear all
fid1=fopen('archivo.txt','r');
fid2=fopen('archivofinal.txt','w');
 i=1;
while 1
linea=fgetl(fid1);
a=linea;
 if ~ischar(linea),
 break;
 end
 while i<=a
N(i,:)=[i (linea)];
fprintf(fid2,'X%i %s \r\n',N(i,:));
i=i+1;
 end
end
fclose('all');


y consigo que imprima los x0 en adelante correlativamente, pero siempre me repite el texto de la primera linea. A que puede deberse el error?

Gracias
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

añadir numeracion correlativa

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 14/05/2013 20:41:48
1
2
3
4
5
6
7
8
9
10
11
12
13
clear all
fid1=fopen('archivo.txt','r');
fid2=fopen('archivofinal.txt','w');
 i=0;
while 1
linea=fgetl(fid1);
 if ~ischar(linea),
 break;
 end
fprintf(fid2,'X%i %s \n',i, linea);
i=i+1;
end
fclose('all');



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
1
Comentar

añadir numeracion correlativa

Publicado por francisco (2 intervenciones) el 14/05/2013 20:50:43
Justo lo que necesitaba

Muchas gracias Jose.
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