Borrar filtros
Borrar filtros

Reading text file using fprintf and textscan

7 visualizaciones (últimos 30 días)
Danupon Subanapong
Danupon Subanapong el 5 de Abr. de 2019
Comentada: Danupon Subanapong el 5 de Abr. de 2019
Hello!!
I am reading a text file and trying to extract array from the file. I used script as below.
fid=fopen('test.txt');
B_a=textscan(fid,'%f\t%f\t%f\t%f\t%f\r\n','HeaderLines', 1);
fclose(fid);
The goal is to acheive a matrix as below.
B_a=[0.050000,6999.282209,-791.957055,6644.515337,2338.276074;
0.150000,8999.282209,-751.957055,6844.515337,2339.276074]
But as I did I only get an array contains only the first line of text file.
Can anyone please help me?

Respuesta aceptada

Guillaume
Guillaume el 5 de Abr. de 2019
You could continue to use textscan, you don't specify line endings and separators in the format string:
fid = fopen('test.txt');
B_a=textscan(fid,'%f%f%f%f%f','HeaderLines', 1);
fclose(fid);
B_a = cell2mat(B_a);
You could also use readtable to read as a table, then convert to a matrix. If the header of the your file made more sense, readtable could have used that to name the variables.
B_a = table2array(readtable('test.txt'));
If on the newly released R2019a, the simplest is to use readmatrix:
B_a = readmatrix('test.txt'); %all done. It figures out the number of headerlines on its own.

Más respuestas (0)

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by