我只是想知道我是否可以通过使用一些选项来减少Matlab的内存使用量。单击工作空间中的变量会显示一个很长的数字,这在大多数情况下可能不是必需的。例如,
[20, 25.0540913632159, 16.2750000000000, 3.08852992798468];对我来说,25.054091可能不仅仅是可以的。有没有什么办法让Matlab只减少内部计算的数值,这样做会有什么不同?
发布于 2013-04-23 17:00:38
现代PC使用浮点数来计算非整数值。
它们有两种标准化变体:float和double,后者的大小是前者的两倍。
默认情况下,Matlab的所有计算都使用(复杂)double。
您可以通过指定类型来强制它使用float (或者按照Matlab的叫法,使用single):
a = single([20, 25.0540913632159, 16.2750000000000, 3.08852992798468]);这应该会占用一半的内存,并且会损失一些精度,这些精度在应用程序中可能很重要,也可能不重要。在这样做之前,确保优化是值得的,因为执行速度可能会更慢(因为内置函数只在double上操作,因此需要额外的两次转换)。
https://stackoverflow.com/questions/16164761
复制相似问题