(MATLAB)分析运行时间,优化程序速度


by HPC_ZY


同样的效果不同的实现方法,运行时间和内存消耗大不相同。今天分享MATLAB运行时间分析方法及一些简单的提速技巧。


一、计算运行时间

1.1 基本方法

大家最常用的应该就是如下方式,直接获取某段代码的运行时间。

tic
func1();
t1 = toc;

tic
func2();
t2 = toc;

1.2 进阶方法

但是想要知道具体是哪一行代码比较耗时,写起来就比较繁琐(尤其是循环中的代码)。今天要分享一个更快捷、更详细的方法——MATLAB自带的“运行并计时”,如下图
在这里插入图片描述
用一个实例来讲解,用三种方法初始化一个全1矩阵:

clear; clc

r = 10000;

tic
a = func1(r);
toc

tic
b = func2(r);
toc

tic
c = func3(r);
toc

% 按C语言结构初始化
function out = func1(r)
out = zeros(r,r);
for i = 1:r
    for j = 1:r
        out(i,j) = 1;
    end
end
end

% 混合C语言和MATLAB类
function out = func2(r)
out = zeros(r,r);
for i = 1:r
    out(i,:) = 1;
end
end

% 纯MATLAB类
function out = func3(r)
out = ones(r,r);
end

点击运行并计时,看看效果
在这里插入图片描述

出现一个弹窗,这个就厉害了!它统计了所有代码和代码块运行的时间和调用的次数。点开三个子函数看看(这部分推荐拷贝代码在自己电脑上运行试试),我的如下(双击看大图)。
通过这个简单的例子我想说,尽量不要在MATLAB里面写“C语言”

在这里插入图片描述
俗话说得好“治病先看病”,先找到耗时的代码段,才能更好的针对性优化~


二、基本提速方法

待更新


其他

  1. 有相关的问题可以留言告诉我,一并更新
  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值