我只是想知道我是否可以通过使用某些选项减少Matlab的内存使用量。 单击工作空间中的变量会显示一个长数字,在大多数情况下可能不需要。如,
[20, 25.0540913632159, 16.2750000000000, 3.08852992798468];
对我来说25.054091
可能还不错。 Matlab是否有任何选项可以减少内部计算的数量,并且它会有所不同。
答案 0 :(得分:1)
现代PC使用浮点数来计算非整数值。
它们有两种标准化的变体:float
和double
,其中后者是前者的两倍。
Matlab默认使用(复数)double
进行所有计算。
您可以通过指定类型强制它使用float
(或Matlab称之为single
):
a = single([20, 25.0540913632159, 16.2750000000000, 3.08852992798468]);
这应该使用一半的内存,并且你会失去一些在你的应用程序中可能重要或可能不重要的精度。在执行此操作之前确保优化是值得的,因为执行速度甚至可能更慢(由于内置函数仅在double
上运行,因此需要额外的两次转换)。