how to import large data file into matlab

2 次查看(过去 30 天)
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!

采纳的回答

Walter Roberson
Walter Roberson 2015-7-16
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 个评论
Abebe kebede
Abebe kebede 2015-7-17
@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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by