Borrar filtros
Borrar filtros

Need help with reading few row of my data and saving it in a new txt file

1 visualización (últimos 30 días)
I have 1*1 matrix. Its a big file of 6MB. I want to read few row and save those data in a new .txt file. I was trying this code
for i=0:1;
M=[num2str(1+i),'.txt'];
data1=dlmread(M);
t1=data1(0:80000);
fnamec=[num2str(1+i), 'xm.txt'];
dlmwrite(fnamec,t1);
end
getting error ??? Error using ==> dlmread at 145
Out of memory. Type HELP MEMORY for your options.
Error in ==> textread at 3
data1=dlmread(M);
Please help me with a code that will help me do the work Thanks for your time
  1 comentario
per isakson
per isakson el 9 de Oct. de 2013
Editada: per isakson el 9 de Oct. de 2013
"Error in ==> textread at 3 data1=dlmread(M)"
textread is a function of Matlab.

Iniciar sesión para comentar.

Respuesta aceptada

dpb
dpb el 9 de Oct. de 2013
Editada: dpb el 9 de Oct. de 2013
Probably simplest to copy a few lines from A to B is to just use fgets() --
SOTOO (NB: aircode...)
fid1=fopen('yourinputfile','r');
fid2=fopen('youroutputfile','w');
N=input('How many lines to copy?');
for idx=1:N
fprintf(fid2,'%s',fgets(fid1));
end
fclose('all')
  4 comentarios
sudipta
sudipta el 20 de Oct. de 2013
Editada: sudipta el 20 de Oct. de 2013
I have tried the following according to your suggestion and worked, will try 2nd one also and update
fid1=fopen('x','r');
fid2=fopen('a','w');
fid3=fopen('b','w');
N=10;
for idx=1:N
fprintf(fid2,'%s',fgets(fid1));
end
M=20;
for idy=N:M
fprintf(fid3,'%s',fgets(fid1));
end
fclose('all');
dpb
dpb el 20 de Oct. de 2013
The above writes two files which may be the intent; if otoh, the idea is to just not write the first N lines then
for idx=1:N
fgetl(fid1);
end
M=20;
for idx=1:M
fprintf(fid2,'%s',fgets(fid1));
end
Will do. Also NB in your solution that you're not actually doing M additional lines after the first N; you're doing M-N+1. If, for example, you asked to skip 10 and write the following 3 your second loop wouldn't execute at all... (exercise for student--why?)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by