matlab gz,MATLAB之single函数

MATLAB之single函数:

一般来说,大矩阵计算,如果用single类型的数据能节省一半的内存空间,double数据类型占8个字节,single类型占4个字节,matlab在内部执行的时候是默认转换成double类型进行运算,据说可以从菜单里面改设置变成默认single 未尝试过,matlab里面有个命令可以转换数据格式,那就是:

single函数

可以执行以下语句看一下b是什么:

b=1;

whos b

b=single(b);

whos b

你可以看到b从默认的double变成了single

也可以尝试如下命令来测试运算读速度:

a=rand(1,100);

b=rand(1,100);

c=rand(1,100);

a1=single(a);

b1=single(b);

tic

for i=1:100

c=a.*b;

end

toc

tic

for i=1:100

c=a1.*b1;

end

toc

结果:

Elapsed time is 0.081662 seconds.

Elapsed time is 0.002880 seconds.

说明single的运算速度的确是快很多,用时约为原来的1/5

此外 simulink里面有强制数据类型转换 也许可以提高simulink的速度(未测试)

Tips

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

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值