优化matlab程序的运行时间

http://www.zdh1909.com/html/matlab/11180.html

 

matlab程序的编写也要注意执行效率,下面以三段程序为例,讲讲如何提高程序的效率。
matlab中有tic和toc命令来记录一段程序的cpu使用时间,可以用help tic命令查看相应的说明。
   先看第一段程序
clear all
clc
tic
for a=0:1:10000
b(a+1)=a^2-a+1;
end
toc

执行结果如下:
Elapsed time is 0.244107 seconds.
>>

再看第二段程序
clear all
clc
tic
b(1:10001)=0;
for a=0:1:10000
b(a+1)=a^2-a+1;
end
toc

与第一段程序的区别在于预先分配了b向量的空间大小,执行结果如下:
Elapsed time is 0.000459 seconds.
>>

最后看第三段程序
clear all
clc
tic
a=0:1:10000;
b=a.^2-a+1;
toc

这段程序与前面的区别在于不采用循环的方式运算
执行结果如下:
Elapsed time is 0.000311 seconds.
>>

从上面的实例可以明显的看出这三种方式编程的优缺点所在,最后一种向量运算方式最为节约CPUtime,而第二段程序由于事先分配了空间,相比于第一段程序执行效率明显的提高,而第三种方式在数据量更大的情况下,将会比第二种方式表现出更强的优越性
本文来自: 高校自动化网(Www.zdh1909.com) 详细出处参考(转载请保留本链接):http://www.zdh1909.com/html/matlab/11180.html

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值