matlab的double和single类型

        看到博客(这里)中说,在matlab中, 当数据比较大时,运算起来就困难了,有时候还会out of memory。原因是默认情况下matlab用double存储数据。而double数据类型占8个字节,single类型占4个字节。把数据类型从double类型转换成single类型可以节省一半的空间。(如果怀疑可以用whos指令查看)。本来很有道理的,但是看到有人说(比如这里):The format function affects only how numbers are displayed, not how MATLAB computes or saves them. 不过从图上来看,似乎是能节省一半的存储空间的。

 

        至于从double到single能否提高运算速度。从上面这句话来看,应该也不能提高速度。但是从这里得到提示,自己试了试看,确实速度提高了不少,如下所示:

 

        但是又神奇地从这里看到一句话:matlab会对double类型做运算的时候做加速,应尽量避免使用single。

       天呐,我彻底崩溃了,到底哪句是真的?至少从实验结果来看,single要比double快。而int类型没法用tic toc统计时间,我也没实验,理论上应该会更快。

        那到底这句红色的英文是啥意思啊?求指教。

        ------写完此文发现,人家那句话指的是format命令.......用上面的强转,就没这个事了吧。哎,阅读水平真烂.....

 

Tips

1.    Matlab中如果我们使用循环的话,如果循环体内的程序不含有single等类型,而且使用的函数都是matlab的build-in function的话,matlab会自动帮助你优化for循环。

2.    使用ctrl + i 可以对选中的代码区域自动排版。


 

  • 16
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值