|

楼主 |
发表于 2008-5-8 17:30
|
显示全部楼层
profile 的效率分析结果
我尝试使用profile进行代码效率分析:结果显示数据量大时,使用c=a-repmat(b,1,length(a(1,:))); 方法效率要高的
profile on
a = ones(100,10000);
b= ones(100,1);
for ii =1:100
c=a-repmat(b,1,length(a(1,:)));
d=op(a,b);
end
profile report
%%%%%%%%%
function d= op(a,b)
for i = 1:length(a(1,:))
d = a(:,i)-b;
end;
%%%%%%%%
同时我还测试一些函数的性能,比如我想把二进制数转为十进制(遗传算法中的解码函数),
考虑到matlab的自有函数的效率高因此,使用:
bin2dec( num2str(bin))
但效率其实极度的低,还不如自定义函数完成。
同时 采用动态矩阵的效率也非常低,应才开始预先声明矩阵的维数;
谢谢大家的帮助! |
评分
-
2
查看全部评分
-
|