999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Matlab程序單步調(diào)試方法及樣例分析

2015-08-14 21:53:12王若楠田野馬玉峰劉立士
現(xiàn)代電子技術(shù) 2015年15期

王若楠+田野+馬玉峰+劉立士

摘 要: 針對單步調(diào)試法在程序調(diào)試中的重要作用,引用了一個具體的樣例,進(jìn)行Matlab程序單步調(diào)試法的分析并逐步檢驗,根據(jù)運行結(jié)果與實際計算結(jié)果的比較,驗證了該方法在程序調(diào)試中的重要地位,并且該實驗結(jié)果還可以應(yīng)用于復(fù)雜的算法驗證中,具有很大的實用意義。

關(guān)鍵詞: 程序調(diào)試;系統(tǒng)質(zhì)量;運行結(jié)果;計算結(jié)果;單步調(diào)試法

中圖分類號: TN92?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)15?0139?03

Single?step debugging method of Matlab program and instance analysis

WANG Ruonan, TIAN Ye, MA Yufeng, LIU Lishi

(School of Information Science and Engineering, Shenyang Ligong University, Shenyang 110159, China)

Abstract: A specific instance is cited and analyzed by using single?step debugging of Matlab program. The debugging method is verified step by step. In comparison with operation results and actual computation results, the important status of the proposed method in program debugging is verified. The experimental results can be applied in complicated algorithm verification. The method has great practical significance.

Keywords: program debugging; system quality; operation result; computation result; single?step debugging method

0 引 言

Matlab(Matrix Laboratory)作為一種高效的科學(xué)及工程計算語言,廣泛地應(yīng)用于數(shù)學(xué)分析、自動控制、系統(tǒng)仿真、人工智能等領(lǐng)域[1?5]。

在Matlab應(yīng)用中,程序調(diào)試是保證系統(tǒng)質(zhì)量的關(guān)鍵步驟[6?7],其主要目的是發(fā)現(xiàn)程序中的錯誤并及時糾正。目前主要有直接調(diào)試和單步調(diào)試兩種方法。直接調(diào)試法主要應(yīng)用于簡單的Matlab程序,如程序設(shè)計中的流程控制問題;當(dāng)M文件很大或者M(jìn)文件中含有復(fù)雜的嵌套時,則需要單步調(diào)試法對程序進(jìn)行調(diào)試,文獻(xiàn)[8]采用單步調(diào)試法驗證信號處理指標(biāo)和實時性是否滿足要求,文獻(xiàn)[9]針對現(xiàn)場故障,采用繼電保護(hù)應(yīng)用軟件仿真驗證系統(tǒng),進(jìn)行單步跟蹤調(diào)試,準(zhǔn)確判斷裝置保護(hù)程序邏輯正確性。

上述研究只是應(yīng)用了單步調(diào)試方法,并沒有提到具體的調(diào)試步驟。因此,本文針對具體的樣例,進(jìn)行了Matlab環(huán)境下程序的單步調(diào)試,該樣例可為復(fù)雜的Matlab程序設(shè)計提供依據(jù)和參考。

1 單步調(diào)試法

程序調(diào)試中常見的錯誤有以下三種:拼寫錯誤、語法錯誤與邏輯錯誤[1],Matlab會在程序運行出錯的時候提示是哪一行出現(xiàn)問題,但卻不能確定導(dǎo)致出錯的是哪一行,或者在運行過程中沒有報錯,但是得出的結(jié)果卻是不符合邏輯的。在這些情況下就需要單步調(diào)試解決問題。單步調(diào)式法具體可以由以下幾個步驟完成:

(1) 設(shè)置斷點;

(2) 程序運行到斷點時步進(jìn);

(3) 在斷點處查看所調(diào)試的變量是否與邏輯值相符;

(4) Step in,進(jìn)入子程序,查看運行情況;

(5) 在子程序中步進(jìn)或者直接跳出進(jìn)入主程序。

2 樣例分析

以公式[y=110n=010n?P(A(z,x)=n)+n=11∞P(A(z,x)=n)]為例,其中復(fù)合函數(shù)[A(z,x)]服從泊松分布,即[P(A(z,x)=n)]的概率[10]為:

[P(A(z,x)=n)=(z?x)n?e-z?xn!] (1)

將式(1)代入樣例公式得:

[y=110y1+y2] (2)

其中:

[y1=n=010n?(z?x)n?e-z?xn!] (3)

[y2=n=11∞(z?x)n?e-z?xn!] (4)

仿真參數(shù)[z]設(shè)置為1,以[x=1]為例,使用單步調(diào)試法測試程序的正確性。圖1為該公式的主程序示意圖。

圖1 主程序

程序中的[s1(1,x)]和[s2(1,x)]分別對應(yīng)公式中的[y1]和[y2]。

首先設(shè)置斷點,如圖2所示。

圖2 主程序斷點設(shè)置

單擊運行程序,當(dāng)程序運行到斷點處時即暫停,然后單擊單步運行,當(dāng)程序運行到第二個斷點時,即進(jìn)入泊松子程序,如圖3所示。

圖3 泊松子程序

運行完這一步后,跳出子程序,回到主程序,此時程序的各參數(shù)運行結(jié)果如圖4所示。

此時,將[z=1,][x=1]與[n=0]代入式(3),得出此時[y1]的累加結(jié)果為[y1=0],此結(jié)果與上述程序運行結(jié)果相符,繼續(xù)測試當(dāng)[n=1]時的結(jié)果。點擊繼續(xù)程序的運行,當(dāng)?shù)诙芜\行完時,各參數(shù)運行結(jié)果如圖5所示。

圖4 [n=0]時的運行結(jié)果

圖5 [n=1]時的運行結(jié)果

此時,將[z=1,][x=1]與[n=1]代入式(3),得出此時[y1]的累加結(jié)果如圖6所示。

圖6 [n=1]時的計算結(jié)果

此結(jié)果與上述程序運行結(jié)果相符,繼續(xù)測試當(dāng)[n=2]時的運行結(jié)果。點擊繼續(xù)程序的運行,當(dāng)?shù)谌芜\行完時,各參數(shù)運行結(jié)果如圖7所示。

圖7 [n=2]時的運行結(jié)果

此時,將[z=1,][x=1]與[n=2]代入式(3),得出此時[y1]的累加結(jié)果如圖8所示。

圖8 [n=2]時的計算結(jié)果

此結(jié)果與上述程序運行結(jié)果相符,可以表明該主程序的第一部分是正確的。

繼續(xù)設(shè)置斷點,如圖9所示。

圖9 主程序第二次設(shè)置斷點

單步運行程序,當(dāng)運行完一次后,各參數(shù)運行結(jié)果如圖10所示。

圖10 [n=11]時的運行結(jié)果

將[z=1,][x=1]與[n=11]代入式(4),得出此時[y2]的累加結(jié)果如圖11所示。

圖11 [n=11]時的計算結(jié)果

此結(jié)果與上述程序運行結(jié)果相符,繼續(xù)測試當(dāng)[n=12]時的運行結(jié)果。點擊繼續(xù)程序的運行,當(dāng)?shù)诙芜\行完時,各參數(shù)運行結(jié)果如圖12所示。

圖12 [n=12]時的運行結(jié)果

將[z=1,][x=1]與[n=12]代入式(4),此時[y2]的累加結(jié)果如圖13所示。

圖13 [n=12]時的計算結(jié)果

此結(jié)果與上述程序運行結(jié)果相符,可以表明該主程序的第二部分是正確的。

綜合上述的分析,該程序的第一部分及第二部分對于每次累加后[y1]和[y2]的結(jié)果都是正確的,所以,其編寫是正確的。因此,該樣例成功運用單步調(diào)試法完成了本程序的測試,為后續(xù)大數(shù)量數(shù)據(jù)的運行提供了基礎(chǔ)。

3 結(jié) 論

通過以上實例的分析,驗證了單步調(diào)試法在程序測試中的重要作用。通過此方法,程序員可以通過Matlab搭建系統(tǒng)模型,利用Matlab軟件本身的計算優(yōu)勢,在程序編譯過程中快速找到錯誤所在,提高編寫程序的效率,還可以應(yīng)用于復(fù)雜的算法測控中,具有很強(qiáng)的實用價值。

注:本文通訊作者為田野。

參考文獻(xiàn)

[1] 許波,劉征.Matlab工程數(shù)學(xué)應(yīng)用[M].北京:清華大學(xué)出版社,2000.

[2] 王向東,戎海武,文翰.數(shù)學(xué)實驗[M].北京:高等教育出版社,2004.

[3] 薛定宇,陳陽泉.高等應(yīng)用數(shù)學(xué)問題的Matlab求解[M].北京: 清華大學(xué)出版社,2004.

[4] 黃忠霖.控制系統(tǒng)Matlab計算機(jī)仿真[M].北京:國防工業(yè)出版社,2004.

[5] 姜啟源,邢文訓(xùn),謝金星,等.大學(xué)數(shù)學(xué)實驗[M].北京:清華大學(xué)出版社,2005.

[6] 李建新,劉乃安,劉繼.現(xiàn)代通信系統(tǒng)分析與仿真[M].西安:西安電子科技大學(xué)出版社,2001.

[7] 劉志儉.Matlab應(yīng)用接口用戶指南[M].北京:科學(xué)出版社,2000.

[8] 劉春.偽碼調(diào)相中斷連續(xù)波雷達(dá)信號處理系統(tǒng)的設(shè)計與實現(xiàn)[D].南京:南京理工大學(xué),2010.

[9] 朱寧,吳崇昊,李志堅,等.一種繼電保護(hù)應(yīng)用軟件仿真驗證系統(tǒng)的設(shè)計[J].電力自動化設(shè)備,2012,32(6):140?144.

[10] 毛用才,胡奇英.隨機(jī)過程[M].西安:西安電子科技大學(xué)出版社,2006.

主站蜘蛛池模板: 五月天婷婷网亚洲综合在线| 国产自在自线午夜精品视频| 国产精品第一区在线观看| a级毛片免费看| 欧美日韩精品一区二区在线线 | 国产日本欧美在线观看| 91青草视频| 久久久久九九精品影院 | 国产真实乱子伦视频播放| 福利一区三区| 国产在线视频自拍| 性欧美久久| 亚洲最黄视频| 国产裸舞福利在线视频合集| 久久狠狠色噜噜狠狠狠狠97视色 | 色悠久久久| 欧美性天天| 91亚洲精选| 国产免费网址| 无码乱人伦一区二区亚洲一| 伊人无码视屏| 国产美女自慰在线观看| 欧美一级视频免费| 午夜少妇精品视频小电影| 五月婷婷精品| 久久精品无码专区免费| 97av视频在线观看| 国产九九精品视频| 亚洲精品男人天堂| 992Tv视频国产精品| 国产18在线播放| 欧美亚洲国产精品第一页| 91色老久久精品偷偷蜜臀| 毛片大全免费观看| 97人妻精品专区久久久久| 天天色综合4| 亚洲午夜福利精品无码不卡 | 日本午夜影院| 2018日日摸夜夜添狠狠躁| www亚洲天堂| 欧美日韩国产在线播放| 中文字幕亚洲专区第19页| 国产精品播放| 四虎成人在线视频| 亚洲美女久久| 亚洲国产日韩一区| 色妞www精品视频一级下载| 蜜桃视频一区二区| 亚洲天堂在线免费| 97国产在线视频| 在线精品欧美日韩| 亚洲一区二区三区中文字幕5566| 激情综合网址| 亚洲看片网| 伊人久久婷婷| 少妇高潮惨叫久久久久久| 99在线视频免费| 伊人蕉久影院| 在线无码私拍| 国产毛片网站| 免费高清自慰一区二区三区| 中日韩欧亚无码视频| 国禁国产you女视频网站| 亚洲综合专区| 婷婷色一区二区三区| 国产一级视频久久| 国产在线八区| 毛片在线看网站| 青草精品视频| 国产精品美人久久久久久AV| 日本黄色不卡视频| 亚洲 欧美 日韩综合一区| 国产精品尤物铁牛tv | 在线观看国产网址你懂的| 视频二区亚洲精品| 成人欧美在线观看| 国产成人调教在线视频| 国产91精品久久| 国外欧美一区另类中文字幕| 真人免费一级毛片一区二区| 国产精品一区在线麻豆| 亚洲国产精品日韩欧美一区|