【问题标题】:fastest way to display huge 2D data in MATLAB在 MATLAB 中显示大量 2D 数据的最快方法
【发布时间】:2014-06-15 12:12:03
【问题描述】:

我有一个巨大的 ~9Gb .bin 文件。 用fread()读取数据,得到二维数组A~10^9个点。

尝试使用imagesc() 显示,如下所示:

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

对我来说大约需要 800 秒,但我在图中看不到任何东西。 我确定我没看错文件。检查较小的。

所以我想知道有没有一种方法可以让我的电脑更轻松地显示如此庞大的数据?

【问题讨论】:

    标签: matlab data-visualization large-data


    【解决方案1】:

    也许对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))
    

    【讨论】:

      【解决方案2】:

      在不了解数据性质的情况下很难回答您的问题。

      这里有一些想法:

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

      【讨论】:

      • 这是一个科学计算,所以我没有关于平滑度的信息。无论如何,我想下采样会有所帮助,谢谢
      猜你喜欢
      • 2015-02-07
      • 2017-08-24
      • 2018-08-12
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      相关资源
      最近更新 更多