ESCRIBIENDO ASCII PROBLEMA FORMATOS
Publicado por Raul (4 intervenciones) el 10/05/2007 08:52:09
¡¡Hola
He estado haciendo una pequeña aplicación en Matlab. Estoy trabajando con vectores que representan una señal en tiempo discreto, y necesito pasarle un flitro. Cómo son muchos archivos en vez de ir uno por uno he hecho una aplicacion que va recorriendo todos los archivos. Eso va bien , de momento , creo. El problema , es , de un archivo creo el vector de entrada, pero al pasar el filtro el vector de salida sale bien , se supone, pero al escribirlo (uso formato ASCII) con fprintf utlilizo en el formato '%f\n', porque se supone que despues de cada dato hace un salto de linea. El problema es que el salto de linea no lo llega a hacer y me escribe todos los numeros seguidos, como es un numero de cifras decimales fijo lo que tengo ( reales de punto fijo, puedo saber donde acaba y dónde empieza, pero es tremendamente engorroso. ¿Alguien sabe dónde puede estar el fallo,me sale sin espacio entre componentes , sin tabulador, sin ningun signo entre medias de ningun tipo
Os mando un copia y pega de la aplicación , que es cortita, por si queris echar un ojo. Cualquier precisión que querais o parte del progama que no entendame me lo comentais
for mes=3:3,
for dia=1:31,
for hora=0:23,
for min=0:59,
for ext=0:3,
smes=num2str(mes);
sdia=num2str(dia);
shora=num2str(hora);
smin=num2str(min);
if mes<10, smes=strcat('0',smes);end;
if dia<10, sdia=strcat('0',sdia);end;
if hora<10 , shora=strcat('0',shora);end;
if min<10, smin=strcat('0',smin);end
sext=strcat('.DA',num2str(ext));
namefile=strcat(smes,sdia,shora,smin,sext);
fid=fopen(namefile)
if fid>-1,
v=fscanf(fid,'%f\n');
f=FILTR_raul(v,50,8,12,1);
fii=fopen(strcat('f',namefile),'w');
fprintf(fii,'%f\n',f);
fclose(fid);fclose(fii);
end;
end;
end;
end;
end;
end;
He estado haciendo una pequeña aplicación en Matlab. Estoy trabajando con vectores que representan una señal en tiempo discreto, y necesito pasarle un flitro. Cómo son muchos archivos en vez de ir uno por uno he hecho una aplicacion que va recorriendo todos los archivos. Eso va bien , de momento , creo. El problema , es , de un archivo creo el vector de entrada, pero al pasar el filtro el vector de salida sale bien , se supone, pero al escribirlo (uso formato ASCII) con fprintf utlilizo en el formato '%f\n', porque se supone que despues de cada dato hace un salto de linea. El problema es que el salto de linea no lo llega a hacer y me escribe todos los numeros seguidos, como es un numero de cifras decimales fijo lo que tengo ( reales de punto fijo, puedo saber donde acaba y dónde empieza, pero es tremendamente engorroso. ¿Alguien sabe dónde puede estar el fallo,me sale sin espacio entre componentes , sin tabulador, sin ningun signo entre medias de ningun tipo
Os mando un copia y pega de la aplicación , que es cortita, por si queris echar un ojo. Cualquier precisión que querais o parte del progama que no entendame me lo comentais
for mes=3:3,
for dia=1:31,
for hora=0:23,
for min=0:59,
for ext=0:3,
smes=num2str(mes);
sdia=num2str(dia);
shora=num2str(hora);
smin=num2str(min);
if mes<10, smes=strcat('0',smes);end;
if dia<10, sdia=strcat('0',sdia);end;
if hora<10 , shora=strcat('0',shora);end;
if min<10, smin=strcat('0',smin);end
sext=strcat('.DA',num2str(ext));
namefile=strcat(smes,sdia,shora,smin,sext);
fid=fopen(namefile)
if fid>-1,
v=fscanf(fid,'%f\n');
f=FILTR_raul(v,50,8,12,1);
fii=fopen(strcat('f',namefile),'w');
fprintf(fii,'%f\n',f);
fclose(fid);fclose(fii);
end;
end;
end;
end;
end;
end;
Valora esta pregunta


0