i*****r 发帖数: 1302 | 1 比如regression, 用regstats的话loop 1000次简直是奇慢. 还不如excel自带的linest
等 |
s********7 发帖数: 52 | |
u********e 发帖数: 263 | 3 bingo!
many loops can be replaced by vectorization. least square regression is just
product of several matrices.
and also always set the size of your matrix before the loop starts.
and try to run matlab with -nodisplay option. i sometimes feel it's faster.
【在 s********7 的大作中提到】 : vectorization
|
i*****r 发帖数: 1302 | 4 vectorization在input是matrix的时候比较难处理啊,或者说loop里面还有很多操作步
骤的时候
我发现是regstats这个涵数特别慢,regress就快很多,但是regstats的output很全 |
x**y 发帖数: 10012 | 5 追求运行速度就不用这玩意
追求是快速实现 检测想法
linest
【在 i*****r 的大作中提到】 : 比如regression, 用regstats的话loop 1000次简直是奇慢. 还不如excel自带的linest : 等
|
u********e 发帖数: 263 | 6 matlab里有不少函数虽然作用类似,可是速度可以差别很大,恐怕底层算法有不同。
哪怕是简单的乘除也有,我就发现对于大matrix,A^4 和 A^2.A^2 速度就可以差不少
,hoho。
一层loop一般都不太慢,两层以上的开始慢,好像。
【在 i*****r 的大作中提到】 : vectorization在input是matrix的时候比较难处理啊,或者说loop里面还有很多操作步 : 骤的时候 : 我发现是regstats这个涵数特别慢,regress就快很多,但是regstats的output很全
|
A*****s 发帖数: 13748 | 7 避免循环
用矩阵运算会快很多
不过我的感觉是,有那功夫瞪眼想矩阵,还不如用C呢。。。
linest
【在 i*****r 的大作中提到】 : 比如regression, 用regstats的话loop 1000次简直是奇慢. 还不如excel自带的linest : 等
|
q******u 发帖数: 46 | 8 Vectorization...
For efficiency, use mex files. You could even call matlab functions in a mex
file
linest
【在 i*****r 的大作中提到】 : 比如regression, 用regstats的话loop 1000次简直是奇慢. 还不如excel自带的linest : 等
|