To eliminate the lines begin with "%"
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
aneps
el 25 de Nov. de 2013
Respondida: Image Analyst
el 26 de Nov. de 2013
I have a file (attached here) which I need to eliminate all the lines begin with "%" and remove the "commas" after the numbers. Then read the numbers and put in separate columns X, Y and Z. Can anyone help me to make the program?
2 comentarios
Respuesta aceptada
Simon
el 25 de Nov. de 2013
Hi!
Read in your file:
% read in a file
fid = fopen(FileName);
FC = textscan(fid, '%s', 'delimiter', '\n');
fclose(fid);
FC = FC{1};
You can get rid of all "%" lines if you compare the first char like:
FC = FC(~strncmp('%', FC, 1));
You can get rid of all ',' with a regex like:
FC = regexprep(FC, ',', '');
Afterwards you can parse your cell array FC line-by-line with sscanf to extract numbers.
3 comentarios
Simon
el 26 de Nov. de 2013
Hi!
It seems that sscanf fails for some reasons I don't know. But you can as well use
% use sscanf for each cell
A = cellfun(@(x) sscanf(x, '%f %f %f'), FC, 'UniformOutput', false);
% convert from cell array to numeric array
A = [A{:}].';
Más respuestas (1)
Image Analyst
el 26 de Nov. de 2013
Why not just use importdata() where you can tell it to throw away some number of headerlines?
0 comentarios
Ver también
Categorías
Más información sobre Large Files and Big Data en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!