24小时热门版块排行榜    

查看: 1872  |  回复: 4

TDwithSD

铜虫 (小有名气)

[求助] matlab中一个脚本文件和一个脚本调用多个函数的运行时间比较 已有3人参与

matlab中目标相同,一个脚本运行,和将脚本分割为功能相同的——一个脚本多个功能函数,相比运行时间有差别吗?
个人认为调用函数中的一些变量会随着函数文件的运行结束而自动释放,所以多调用函数会比一整个脚本运行的时间稍快,当然也不是调用函数越多越好,毕竟调用也是耗时的,有没有高手能给出更合理的解释?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
??????, func1() & func2()
?y?r?g: tic, toc
~~
function func1()

tic
...
toc

~~~
function func2()

tic
func21()
func22()
func23()
toc


function func21()


function func22()


function func23()
2楼2016-08-23 12:08:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

DQSHolly

铜虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
TDwithSD: 金币+1, 有帮助 2016-08-25 11:56:44
我试验过调用10000次的,与一个脚本中循环10000次相比,调用函数要耗费明显长的时间。可以用MATLAB的run and time那个选项看函数各部分用的时间
3楼2016-08-24 23:14:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

TDwithSD

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by DQSHolly at 2016-08-24 23:14:33
我试验过调用10000次的,与一个脚本中循环10000次相比,调用函数要耗费明显长的时间。可以用MATLAB的run and time那个选项看函数各部分用的时间

嗯嗯,我个人觉得,有些需要重复实用的几行程序最好是能写一个函数那样,使用次数少的,就算了。
4楼2016-08-25 11:57:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

512095518

专家顾问 (正式写手)

【答案】应助回帖

★ ★
TDwithSD: 金币+2, 有帮助 2016-08-27 11:31:35
这个问题我想两种方法应该差不多。我个人喜欢现在一个m文件里,这样比较简洁。这也仅仅只限于不太复杂的程序。以往看过外国专家写那些算法工具箱时,基本上都是采用多个函数文件,并非写在一个上面。好处在于调试函数方便,例如你都写在一个文件里,主函数有问题,这样不能调用子函数,到时候还得把子函数另存出来。
随着matlab版本的提高,循环次数的增加对于计算速度影响不再非常显著。慢的情况就是循环体内调用的函数太多了造成慢。提高运算速度,尽量采用matlab自带的函数,这就需要多查阅函数手册。调用内置的函数,速度快。
没有极限,只有超越!
5楼2016-08-27 10:44:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 TDwithSD 的主题更新
信息提示
请填处理意见