在MATLAB中显示巨大2D数据的最快方法

时间:2014-04-29 13:51:45

标签: matlab data-visualization large-data

我有一个巨大的~9Gb .bin文件。 使用fread()读取数据,获取2D数组A ~10 ^ 9点。

尝试使用imagesc()显示简单如下:

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

我需要大约800秒才能看到图中的任何内容。 我确信我正确地阅读了该文件。检查较小的。

所以我想知道有没有办法用我的电脑轻松显示如此庞大的数据?

2 个答案:

答案 0 :(得分:2)

也许在A上使用某种下采样。要做到这一点,您必须应用低通滤波器然后进行抽取,但低通滤波器可能需要很长时间才能完成。因此,即使它受到可能的别名影响,您也可以尝试从n中取样并绘制:

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

答案 1 :(得分:1)

如果不了解数据的性质,很难回答您的问题。

以下是一些想法:

  • 如果您的数据是图像,则应使用已知方法缩小它,或者裁剪它。
  • 如果您知道数据是平滑的,则可以在不引入别名的情况下对其进行采样。
  • 显示有关您数据的某种统计信息,而不是显示数据本身。