Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
Novice Geek
Novice Geek le 13 Fév 2014
Commenté : Novice Geek le 13 Fév 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.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 13 Fév 2014
Modifié(e) : Andrei Bobrov le 13 Fév 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 commentaires
Andrei Bobrov
Andrei Bobrov le 13 Fév 2014
Sorry, my typo, corrected.
Novice Geek
Novice Geek le 13 Fév 2014
It works now ! :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Read, Write, and Modify Image dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by