找回密码
 欢迎注册
查看: 22324|回复: 3

[求助] matlab调用函数特别慢

[复制链接]
发表于 2015-11-26 20:31:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
我需要循环调用一个函数 \[f(a,b,c,d,n)=\frac{1}{n}\sqrt{1+\frac{n}{2}\left((a-d)^2+(b-c)^2\right)}\]
写成函数用for循环调用2500次,耗时9s,不写成函数,直接写进循环只要0.09s
有1000倍差距了,多次调用的语句不是应该鼓励写成函数吗?为什么会这样
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2015-11-30 12:46:25 | 显示全部楼层
光说没用,你应该把代码晒出来.
===================
据我所知,  MATLAB天生自带 矢量运算,它会在很多地方偷偷的做矢量优化(多核,并行),  这个会不会是根本原因?

另外,你用的是哪个版本的MATLAB
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2015-12-8 13:01:31 | 显示全部楼层
这就是c语言为什么要搞指针的原因,
传地址要比传数组快得多
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2015-12-12 22:50:14 | 显示全部楼层
频繁调用传递效率低
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 01:22 , Processed in 0.044141 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表