matlab中double 和single数据类型的差别
matlab中double 和single数据类型的差别
matlab中double 和single数据类型的差别
double数据类型占用8个字节,single数据类型占4个字节。所以用single会更快一些。(可以这么理解,就像你做8位数乘法跟做4位数乘法一样~肯定做4位数的运算更快一些嘛)
- a=randn(3,3)
- a =
- 0.8404 -0.5445 0.4900
- -0.8880 0.3035 0.7394
- 0.1001 -0.6003 1.7119
- >> b=single(a)
- b =
- 0.8404 -0.5445 0.4900
- -0.8880 0.3035 0.7394
- 0.1001 -0.6003 1.7119
- >> c=randn(3,3);
- >> tic,a*c,toc;
- ans =
- 0.5899 2.1930 -1.6388
- -1.0974 -0.8179 -1.1239
- -0.1730 2.4243 -4.2069
- Elapsed time is 0.199251 seconds.
- >> tic,b*c,toc;
- ans =
- 0.5899 2.1930 -1.6388
- -1.0974 -0.8179 -1.1239
- -0.1730 2.4243 -4.2069
- Elapsed time is 0.002739 seconds.
- >> class(a)
- ans =
- double
- >> class(b)
- ans =
- single
可见,single类型数据运算速度明显比double型数据快很多。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ddreaming/article/details/52176924