首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >内存优化

内存优化
EN

Stack Overflow用户
提问于 2013-04-23 16:42:04
回答 1查看 93关注 0票数 1

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

代码语言:javascript
运行
复制
[20, 25.0540913632159, 16.2750000000000, 3.08852992798468];

对我来说,25.054091可能不仅仅是可以的。有没有什么办法让Matlab只减少内部计算的数值,这样做会有什么不同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-23 17:00:38

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

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

默认情况下,Matlab的所有计算都使用(复杂)double

您可以通过指定类型来强制它使用float (或者按照Matlab的叫法,使用single):

代码语言:javascript
运行
复制
a = single([20, 25.0540913632159, 16.2750000000000, 3.08852992798468]);

这应该会占用一半的内存,并且会损失一些精度,这些精度在应用程序中可能很重要,也可能不重要。在这样做之前,确保优化是值得的,因为执行速度可能会更慢(因为内置函数只在double上操作,因此需要额外的两次转换)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16164761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档