how to import large data file into matlab

2 views (last 30 days)
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!

Accepted Answer

Walter Roberson
Walter Roberson on 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 Comments
Abebe kebede
Abebe kebede on 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

Sign in to comment.

More Answers (0)

Categories

Find more on Large Files and Big Data in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!