Borrar filtros
Borrar filtros

How to read data from txt file and to create a 2D matrix?

2 visualizaciones (últimos 30 días)
Novice Geek
Novice Geek el 13 de Feb. de 2014
Comentada: Novice Geek el 13 de Feb. de 2014
I am writing a function which reads a text file with some header information in the first 10 lines and then the actual data starts. Here is how the file looks:
Line 1 to
.....
Line 10 (header information)
0 0 4.169080e+000
1 0 6.391669e+000
2 0 6.391669e+000
.
.
.
511 0 9.922547e+000
0 1 5.268026e+000
1 1 5.268026e+000
.
.
.
511 511 9.922547e+000
I have extracted information from the lines which are part of the header. Line 11 onwards the line format is:
x y value
I want to read all these lines one by one (line 11 onwards) and form a 2D matrix(dimensions: 511 X 511) of the value column so that later I can generate an image using this (basically using squeeze() and imshow() functions). Can someone help me how I organize this in a matrix? I am trying to use a yLoop and a nested xLoop but it is not working.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 13 de Feb. de 2014
Editada: Andrei Bobrov el 13 de Feb. de 2014
f = fopen('yourtextfile.txt');
c = textscan(f,'%d %d %f','HeaderLines',10,'CollectOutput',1);
fclose(f);
out = accumarray(c{1}+1,c{2});
  3 comentarios
Andrei Bobrov
Andrei Bobrov el 13 de Feb. de 2014
Sorry, my typo, corrected.
Novice Geek
Novice Geek el 13 de Feb. de 2014
It works now ! :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Read, Write, and Modify Image en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by