溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Matlab中程序調(diào)試和編程技巧有哪些

發(fā)布時(shí)間:2021-12-30 17:03:08 來源:億速云 閱讀:176 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹了Matlab中程序調(diào)試和編程技巧有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

程序調(diào)試和編程技巧

在編寫matlab程序時(shí),難免會(huì)出現(xiàn)錯(cuò)誤,這時(shí)就需要對程序進(jìn)行調(diào)試。matlab中,m文件調(diào)試主要有兩種方法:直接調(diào)試法和工具調(diào)試法。

拼寫錯(cuò)誤:系統(tǒng)會(huì)提示錯(cuò)誤。

語法錯(cuò)誤:比如6/0,輸出結(jié)果為無窮大inf。陳小古在運(yùn)行時(shí)不一定會(huì)報(bào)錯(cuò),但是輸出結(jié)果不正常。

邏輯錯(cuò)誤:這樣的錯(cuò)誤非常隱蔽,通常是對程序的算法考慮不周全,程序可以正常執(zhí)行,但是輸出結(jié)果不符合預(yù)期值。

對于不是很復(fù)雜的程序,額可以使用直接調(diào)試法進(jìn)行程序的調(diào)試。

1.如果程序出錯(cuò)或者給出警告信息,仔細(xì)分析出錯(cuò)或警告信息,會(huì)得到出錯(cuò)的原因。

2.在程序中,利用函數(shù)disp()將函數(shù)M文件的中間結(jié)果顯示出來。

3.在一個(gè)函數(shù)M文件中,可以將該函數(shù)M文件修改為腳本M文件進(jìn)行調(diào)試。

4.將程序的某些行通過注釋進(jìn)行屏蔽,在程序行的前面輸入注釋符%。

5.在程序中調(diào)試的地方添加keyboard函數(shù)。

可以采用Debugger工具在圖形窗口中進(jìn)行程序的調(diào)試

1.命令行為主的調(diào)試

在命令行窗口中輸入help debug可以查看調(diào)試命令

2.圖形化程序調(diào)試 

Matlab中程序調(diào)試和編程技巧有哪些



1.錯(cuò)誤處理

在程序運(yùn)行過程中,如果遇到警告或錯(cuò)誤,需要進(jìn)行處理,在matlab中,可以采用try...catch語句進(jìn)行捕捉錯(cuò)誤,可以利用函數(shù)error()發(fā)出錯(cuò)誤信息,利用函數(shù)warning()發(fā)出警告信息。

2.m文件性能分析

在matlab中,通過程序的調(diào)試,可以改正程序中的語法錯(cuò)誤和邏輯錯(cuò)誤等。程序體哦啊是結(jié)束后,用戶編寫的matlab程序就可以正常運(yùn)行了,旦可能并不是最優(yōu)的,運(yùn)行效率也不是最好的。這就需要對matlab程序的性能進(jìn)行分析,并進(jìn)行優(yōu)化。

matlab提供的m文件分析工具包括code analyzer和profiler工具,他們都有圖形操作界面,使用起來還是非常方便的。 

3.編程技巧

(1)計(jì)時(shí):采用函數(shù)tic和toc進(jìn)行計(jì)時(shí),使用函數(shù)etime進(jìn)行計(jì)時(shí),利用cputime進(jìn)行計(jì)時(shí)

(2)防止程序進(jìn)入死循環(huán)

(3)如果必須使用多重循環(huán),但是兩個(gè)循環(huán)執(zhí)行的次數(shù)不同,建議在外循環(huán)次數(shù)少的,內(nèi)循環(huán)執(zhí)行循環(huán)次數(shù)多的

(4)對于大型矩陣,如果預(yù)先定義維度,則會(huì)減少程序的執(zhí)行時(shí)間,提高程序的運(yùn)算效率

(5)在百年城程序時(shí),有限考慮matlab的內(nèi)在函數(shù)

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Matlab中程序調(diào)試和編程技巧有哪些”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI