内存优化

时间:2013-04-23 08:42:04

标签: matlab memory-optimization

我只是想知道我是否可以通过使用某些选项减少Matlab的内存使用量。 单击工作空间中的变量会显示一个长数字,在大多数情况下可能不需要。如,

[20, 25.0540913632159, 16.2750000000000, 3.08852992798468];

对我来说25.054091可能还不错。 Matlab是否有任何选项可以减少内部计算的数量,并且它会有所不同。

1 个答案:

答案 0 :(得分:1)

现代PC使用浮点数来计算非整数值。

它们有两种标准化的变体:floatdouble,其中后者是前者的两倍。

Matlab默认使用(复数)double进行所有计算。

您可以通过指定类型强制它使用float(或Matlab称之为single):

a = single([20, 25.0540913632159, 16.2750000000000, 3.08852992798468]);

这应该使用一半的内存,并且你会失去一些在你的应用程序中可能重要或可能不重要的精度。在执行此操作之前确保优化是值得的,因为执行速度甚至可能更慢(由于内置函数仅在double上运行,因此需要额外的两次转换)。