您好,登錄后才能下訂單哦!
這篇文章主要介紹了Matlab中程序調(diào)試和編程技巧有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在編寫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)試
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í)!
免責(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)容。