1

I'm just curious to know if I can reduce memory usage of Matlab by using some option. Clicking on a variable in workspace shows a long digit which may not be necessary in most of cases. e.g.,

[20, 25.0540913632159, 16.2750000000000, 3.08852992798468];

for me 25.054091 may be more than ok. Are there any options that Matlab just reduce numbers for internal calculation and does it make any difference.

4

1 回答 1

1

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

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

Matlab,默认情况下double,所有计算都使用 (complex) s。

您可以通过指定类型来强制它使用float(或 Matlab 调用它们single):

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

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

于 2013-04-23T09:00:38.230 回答