matlab中double 和single数据类型的差别

matlab中double 和single数据类型的差别

matlab中double 和single数据类型的差别

double数据类型占用8个字节,single数据类型占4个字节。所以用single会更快一些。(可以这么理解,就像你做8位数乘法跟做4位数乘法一样~肯定做4位数的运算更快一些嘛)

 
[html] view plain copy
 
  1. a=randn(3,3)  
  2.   
  3. a =  
  4.   
  5.     0.8404   -0.5445    0.4900  
  6.    -0.8880    0.3035    0.7394  
  7.     0.1001   -0.6003    1.7119  
  8.   
  9. >b=single(a)  
  10.   
  11. b =  
  12.   
  13.     0.8404   -0.5445    0.4900  
  14.    -0.8880    0.3035    0.7394  
  15.     0.1001   -0.6003    1.7119  
  16.   
  17. >c=randn(3,3);  
  18. >> tic,a*c,toc;  
  19.   
  20. ans =  
  21.   
  22.     0.5899    2.1930   -1.6388  
  23.    -1.0974   -0.8179   -1.1239  
  24.    -0.1730    2.4243   -4.2069  
  25.   
  26. Elapsed time is 0.199251 seconds.  
  27. >> tic,b*c,toc;  
  28.   
  29. ans =  
  30.   
  31.     0.5899    2.1930   -1.6388  
  32.    -1.0974   -0.8179   -1.1239  
  33.    -0.1730    2.4243   -4.2069  
  34.   
  35. Elapsed time is 0.002739 seconds.  
  36. >> class(a)  
  37.   
  38. ans =  
  39.   
  40. double  
  41.   
  42. >> class(b)  
  43.   
  44. ans =  
  45.   
  46. single  

可见,single类型数据运算速度明显比double型数据快很多。

 
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ddreaming/article/details/52176924

 

posted @ 2018-04-02 21:52  菜鸡一枚  阅读(4126)  评论(0编辑  收藏  举报