Matlab / Octave:如何调整.mat文件的大小?降低较小文件/数据集大小的数据分辨率

时间:2015-11-06 17:48:58

标签: matlab octave netcdf

我有一个Matlab数据集文件,其中包含网格[X , Y]的数据。我想将数据集文件的分辨率降低到[P , Q]P = X / scaleQ = Y / scale。因此,例如,如果数据集最初为1400 x 800,并且我想将其缩小10因子,我将获得分辨率为140 x 80的新数据集文件。如何在Matlab和/或Octave中完成?

如果有一种简单的方法可以将Matlab(* .mat)文件转换为NetCDF,那么我可以轻松地从那里获取它,如果是这样请参考(我还没有找到任何使用基本谷歌的东西)搜索)。我知道ncwrite但是因为我无法在第一时间读取数据,因此我可以读取数据,因为.mat文件对我的环境来说太大了(我试图避免为64位地址空间构建Octave,而是在进行开发时使用较小的数据集。)

我现在在Windows上使用Octave,所以我更倾向于使用Octave或其他非Matlab工具来解决这个问题,但我很快就可以访问一个合适的Matlab版本。

非常感谢任何建议,感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

我能想到的最简单方法是将原始矢量/矩阵与.math文件除以你想要的比例,应用舍入函数,最后使用unique()函数。

例如:

octave:1> x=1:20
x =

 Columns 1 through 16:

    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16

 Columns 17 through 20:

   17   18   19   20

octave:2> y = round(x/4)
y =

   0   1   1   1   1   2   2   2   2   3   3   3   3   4   4   4   4   5   5   5

octave:3> unique(y)
ans =

   0   1   2   3   4   5