概述
本文针对各大matlab版本均有效!可以通过往程序中嵌入语句,以达到使用matlab分析器跟踪matlab代码执行时间的目的。matlab中最好用的帮助命令莫过于doc啦! doc profile 即可找到matlab自带的好的例程,然后就能搞出事情啦!
1.代码
function InlineSubAnonymousNestedDemo
%% 用inline解决
tic;
k=linspace(0,5);
y1=zeros(size(k));
for i=1:length(k)
kk=k(i);
fun=inline(['sin(',num2str(kk),'*x).*x.^2 ']);
y1(i)=quadl(fun,0,5);
end
time=toc;
disp(['用inline方法的时间是:',num2str(time),'秒!' ])
%% 用anonymousfunction 解决
tic;
f=@(k)quadl(@(x)sin(k.*x).*x.^2,0,5);
kk=linspace(0,5);
y2=zeros(size(kk));
for ii=1:length(kk)
y2(ii)=f(kk(ii));
end
time=toc;
disp(['用anonymousfunction方法的时间是:',num2str(time),'秒! '])
%% 用nestedfunction解决
function y=ParaInteg(k)
y=quadl(@(x)sin(k.*x).*x.^2 ,0,5);
end
tic;
kk=linspace(0,5);
y3=zeros(size(kk));
for ii=1:length(kk)
y3(ii)=ParaInteg(kk(ii));
end
time=toc;
disp(['用nestedfunction方法的时间是:',num2str(time),'秒! '])
%% 用arrayfun+anonymousfunction 解决
tic;
y4=arrayfun(@(k)quadl(@(x)sin(k.*x).*x.^2,0,5),linspace(0,5));
time=toc;
disp(['用arrayfun+anonymousfunction方法的时间是:',num2str(time),'秒!' ])
plot(kk,y2);
xlabel('k');
ylabel('f(k)')
end
%% 关键代码添加看这里
profile on
InlineSubAnonymousNestedDemo %测试使用的函数
profile viewer
profsave %将代码运行的结果以HTML形式返回展示
2.效果
2.1.原始代吗效果
2.2.代码运行时间跟踪结果
最后
以上就是体贴跳跳糖为你收集整理的使用matlab分析器跟踪matlab代码执行时间的全部内容,希望文章能够帮你解决使用matlab分析器跟踪matlab代码执行时间所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复