質問

I have a huge ~9Gb .bin file. Reading data with fread(), getting 2D array A ~ 10^9 points.

Trying to display with imagesc() as simple as:

    figure(1)
    imagesc(x,y,A)

It takes ~ 800 seconds for me and I can't see anything on the figure. I am sure that I read the file right. Checked with smaller ones.

So I wonder is there a way to display such a huge data with less effort for my PC?

役に立ちましたか?

解決

Perhaps use some kind of downsampling on A. To do it right you'd have to apply a low-pass filter followed by decimation, but the low-pass filter may take very long in your case. So, even if it's subject to possible aliasing, you can try to just take a sample out of n and plot that:

n = 10; %// choose as suits you best
imagesc(x(1:n:end), y(1:n:end), A(1:n:end,1:n:end))

他のヒント

It is quite hard to answer your question without knowing the nature of the data.

Here are some ideas:

  • If your data is an image, you should downscale it using on of the known methods, or crop it.
  • If you know that your data is smooth, you can sample it without introducing aliasing.
  • Show some kind of statistics on your data, instead of showing the data itself.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top