1. 程式人生 > >Matlab運算效率對比

Matlab運算效率對比

首先,推薦一篇比較,分析了四種執行函式效率對比。

Ref:https://zhuanlan.zhihu.com/p/35808505?group_id=969873960783101952

結果:直接呼叫>匿名>feval>eval。但不是說就不用eval了,eval是個很靈活的函式,在批量讀取命名處理等地方非常好用。

25個案例裡面的比較

結果:匿名,子函式,巢狀函式效率類似,inline效率極低,而且差很多。

很多時候自己的程式可以tic,toc試試比較一下。

自己的一些經驗:

1.我用的是17b的版本,個人推薦用新不用舊,新版本提供了更多的庫,優化更好,效率通常會更高一點。雖然17b有點速度問題。。據說18a已經改進了。

2. 從17b的使用上來說,因為自己做了大檔案資料處理。有一點經驗是,小檔案上matlab的讀取和處理效率是很快的,速度可以接受。當資料檔案大小超過了一定閾值的時候,效率顯著變慢,以數量級上升。

我用了三種方式讀取這個坑爹的大檔案,直接讀取,matlab自己切塊讀取,mex。

效率排序:mex>切塊>直接讀取。而且差距異常之大。