优化matlab程序的运行时间

来源:互联网 发布:男士白色豆豆鞋上淘宝 编辑:程序博客网 时间:2024/06/01 07:46

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

 

原创粉丝点击