how to import large data file into matlab

2 vues (au cours des 30 derniers jours)
Abebe kebede
Abebe kebede le 16 Juil 2015
Commenté : Abebe kebede le 17 Juil 2015
I have very large data 5GB space delimited mixed data (data.prn) with column header:
*0000*
*0000*
al 10.598010201 1.890025647
am 11.222025789 -5.369021654
as -10.256862254 11.235854322
at 14.589056356 15.888792312
. .
. .
I know it has three column but i don't know exactly the number of rows since the data is to large to open. My target is to plot data(:,1) vs data(:,2). Any suggestion which command is fast to import the data to matlab.Thanks!

Réponse acceptée

Walter Roberson
Walter Roberson le 16 Juil 2015
fid = fopen('data.prn', 'rt');
datacell = textscan(fid, '%*s%f%f', 'HeaderLines', 2);
fclose(fid);
plot(datacell{1}, datacell{2})
However, keep in mind that your screen only has a few thousand pixels, not billions, so you are going to end up with multiple data points per pixel, which will be slow and of no good visual purpose. You should consider plotting only a subset of the data, such as
plot(datacell{1}(1:1000:end}, datacell{2}(1:1000:end))
  2 commentaires
Abebe kebede
Abebe kebede le 16 Juil 2015
Thanks Walter.
Abebe kebede
Abebe kebede le 17 Juil 2015
@Walter, It seems the output is no as i want it. When i used the above code and try to read datacell{:}i get
10.598010201
NaN
10.598010201 ... and so on
but i want the result to be like
[10.598010201] [1.890025647]
[11.222025789] [-5.369021654]
[-10.256862254] [11.235854322]
and so on. Thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Large Files and Big Data dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by