Matlab提速方法


1. 向量化。

盡量少用for循環。

 

2. 循環豎着走比橫着走快。

 

3. 內置函數也有優化的空間

不少內置函數都有大量的error check。直接用profiler找出真正干活的。
不少內置函數在網上都有人提供了更快的版本的,當然功能弱一些,正好符合提速的需求。

 

4. 盡量給不要修改函數的變量

利用copy on write的特點,丟進函數的變量能不對其修改就不要修改。

 

5. 少使用Matlab進行類似數據庫的操作

matlab就是個高級計算器,不要拿干來處理文件,往數據庫里塞數據這種活。eval, object之類的東西能別碰就別碰,盡量保持着every is an array of double的模式。

 

6. 預先規定好矩陣的維度

和C語言一個道理,修改矩陣的維度會使Matlab分配一個新的內存空間來存儲新的矩陣並進行賦值操作。頻繁地改變size就會使運算變慢。

 

7. 當矩陣中有很多0時,使用sparse(稀疏矩陣)

也就是軟基中的三元矩陣?

 

8. 多次使用的除法數據存儲下來

因為除法的開銷比乘法的大許多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM