我是靠谱客的博主 体贴跳跳糖,最近开发中收集的这篇文章主要介绍使用matlab分析器跟踪matlab代码执行时间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文针对各大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代码执行时间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部