我有一个Matlab数据集文件,其中包含网格[X , Y]
的数据。我想将数据集文件的分辨率降低到[P , Q]
,P = X / scale
和Q = Y / scale
。因此,例如,如果数据集最初为1400 x 800
,并且我想将其缩小10
因子,我将获得分辨率为140 x 80
的新数据集文件。如何在Matlab和/或Octave中完成?
如果有一种简单的方法可以将Matlab(* .mat)文件转换为NetCDF
,那么我可以轻松地从那里获取它,如果是这样请参考(我还没有找到任何使用基本谷歌的东西)搜索)。我知道ncwrite
但是因为我无法在第一时间读取数据,因此我可以读取数据,因为.mat文件对我的环境来说太大了(我试图避免为64位地址空间构建Octave,而是在进行开发时使用较小的数据集。)
我现在在Windows上使用Octave,所以我更倾向于使用Octave或其他非Matlab工具来解决这个问题,但我很快就可以访问一个合适的Matlab版本。
非常感谢任何建议,感谢您的帮助。
答案 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