Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2315999
  • 博文数量: 846
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 9499
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-04 19:54
个人简介

日日行,不怕千万里;时时学,不怕千万卷

文章分类

全部博文(846)

文章存档

2010年(36)

2009年(418)

2008年(346)

2007年(46)

我的朋友

分类:

2008-01-01 21:36:39

    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,而第二段程序由于事先分配了空间,相比于第一段程序执行效率明显的提高,而第三种方式在数据量更大的情况下,将会比第二种方式表现出更强的优越性






阅读(2794) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~