- MATLAB基礎及應用(第5版)
- 于潤偉 朱曉慧編著
- 654字
- 2021-03-22 12:33:05
2.4 編程技巧
2.4.1 測定程序執行時間
測定程序執行時間通常是使用tic和toc函數,tic用于啟動秒表,toc用于停止秒表。
【例2-16】 建立一個100×100的魔方矩陣,并測定運行時間。

運行后在命令行窗口觀察運行結果為:

由于計算機的運算速度不同,所耗時間會不同。
2.4.2 程序的優化
畢竟MATLAB是一種解釋性語言,同其他解釋性語言一樣,都存在著執行速度不夠理想的問題。下面是一些加快MATLAB程序執行的方法。
(1)避免使用循環
MATLAB的一個不足是對矩陣的單個元素進行循環操作時運算速度很慢,應盡量避免使用循環。編程時,盡量對矩陣或矢量編程,把循環矢量化,這樣不僅能夠縮短程序長度,而且能提高程序執行效率。在必須使用多重循環的情況下,若兩個循環執行的次數不同,則應在循環的內層執行次數多的,外層執行次數少的。
(2)對大型矩陣預先定義維數
在程序執行的過程中,有時要動態改變矩陣的維數,這將非常浪費時間。為此,應在定義大矩陣時,首先用函數(如zeros或ones)對矩陣定義好維數,然后再進行賦值,這樣會提高程序的運行效率。
(3)優先使用內層函數
矩陣運算要首先考慮使用MATLAB內層函數,因為內層函數是由更底層的 C 語言構成,執行速度快于使用循環的矩陣運算。
(4)考慮接口語言
MATLAB支持同其他語言進行編譯連接,如果已經采取了相應的措施,程序執行速度仍然很慢,則應考慮使用C語言或FORTRAN語言進行編程,然后編譯連接,這樣能顯著地提高程序的運行速度。
【例2-17】 分別用循環和矩陣,計算1~10000整數的正弦值,并測定程序運行時間。
程序1:使用循環

運行后在命令行窗口觀察運行結果為:

程序2:使用矩陣


運行后在命令行窗口觀察運行結果為:

推薦閱讀
- Flash CC中文版動畫設計與制作/微課堂學電腦
- 邊做邊學:Photoshop CS6 圖像制作案例教程
- Maya影視動畫高級模型制作全解析
- 斯科特·凱爾比的零基礎攝影后期課 Lightroom數碼照片調修技法
- CorelDRAW服裝設計實用教程(第四版)
- Getting Started With Oracle SOA Suite 11g R1 – A Hands/On Tutorial
- AI短視頻生成與剪輯實戰108招:ChatGPT+剪映
- BlackBerry Enterprise Server 5 Implementation Guide
- CINEMA 4D新手快速進階實例教學
- Mastercam 2019 完全自學寶典
- 卷珠簾:Photoshop古風插畫技法完全教程
- Photoshop攝影后期必修5項核心技法 基本調整+光影校正+色彩修飾+局部處理+銳化降噪
- FLUENT 15.0流場分析實戰指南
- Drupal for Education and E/Learning
- Magento 1.4 Development Cookbook