繁体   English   中英

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

[英]Matlab/Octave: How to resize a .mat file? Reduce resolution of data for smaller file/data set size

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

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

我现在在 Windows 上使用 Octave,所以我更喜欢用 Octave 或其他非 Matlab 工具来实现这一点,但我可能很快就会获得合适的 Matlab 版本。

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

我能想到的最简单的方法是将 .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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM