how to import large data file into matlab

4 Ansichten (letzte 30 Tage)
Abebe kebede
Abebe kebede am 16 Jul. 2015
Kommentiert: Abebe kebede am 17 Jul. 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!

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 16 Jul. 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 Kommentare
Abebe kebede
Abebe kebede am 16 Jul. 2015
Thanks Walter.
Abebe kebede
Abebe kebede am 17 Jul. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Large Files and Big Data finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by