鄧昌瑞++周小紅++周木蘭++胡莉莉++聶水晶


摘 要:MATLAB的繪圖功能,可以為分析、解決問題提供出一個好的平臺。本文通過對地面搜索與賽程安排問題的探討,讓人們能從可視化的角度把一些較為復雜、難度較大問題變得更具有操作性。特別是GUI的設計,可以幫助缺乏計算機編程知識的人們直接處理在生活或工作中所遇到的復雜問題,從而能為科學技術的推廣與應用提供很大的方便。
關鍵詞:MATLAB繪圖 搜索問題 賽程安排 源程序 GUI
中圖分類號:TP312 文獻標識碼:A 文章編號:1672-3791(2016)10(c)-0000-00
1 引言
MATLAB軟件在科學計算方面的功能非常強大,是科研人員用于分析、計算的最常用的工具。在MATLAB的各種功能中,最能體現其特點的是其運算與圖形相結合功能:它能把一個非常復雜的問題,描述成為過程簡便、結果直觀、通俗易懂的問題。更難能可貴的是,用MATLAB開發出的GUI,能實現人機互動,不需要操作用戶掌握編程知識,用戶通過簡單的機械式操作便能得出自己所想要的結果。下面從通過兩個實例來說明MATLAB在解決復雜問題時在可視化方面的優點。
2 MATLAB編程繪圖應用實例
下面通過地面搜索問題的實例來說明MATLAB的編程繪圖功能的應用。
近年來,各種災難頻發,如自然災害的地震、水災、泥石流等,人類災難中的空難、海難沉船等經常危害人類的生命。人類在想辦法躲避這些災難之時,也必須在災害已經發生的情況下進行相應的救災工作,即以最快速度搶救出在災害中受傷及失蹤的人們,盡量減少因災難所帶來的人員與財產損失。不過,受災害地區的交通與通迅一般都會陷入癱瘓狀態,從而增加救災難度。因此,人們為了能夠在災后進行快速搜索,需要在平時沒有災害發生的情況下,做好預定救助方案以防患于未然。其中,用蜂窩理論來制訂搜索方案是最常用的一種方法。為了說明這種搜索方法,我們可以假設出下面情景或條件:每個救災人員所帶設備可以搜索到半徑為a米長的距離,在大小為m米 n米的長方形水平區域進行全境搜索,確定好以最少的救援人員且能夠在規定的時間內完成搜索任務。為了更好更直觀的把蜂窩理論的原理體現出來,那么在解決問題之前先把這種理論用MABATB編寫出源程序,運行后可以繪出相應的圖形(見圖1),然后在此直觀的條件下(全覆蓋)再進行處理就非常方便。相應的源程序如下所示:
3 MATLAB GUI的設計與應用實例
用MATLAB做成的GUI,能夠實現人機交互,操作用戶不用掌握高深的編程語言,也不必要知道問題的分析過程,用戶只要按照界面設定的命令進行直接操作即可得到想要的結果。下面通過體育競賽中的賽程安排問題來簡要介紹MATLAB GUI的設計與應用。
在一些大型的團體體育項目如藍球賽、足球賽、排球賽等運動中,參賽隊隊數較多,比賽場地也有主客場之分,為了能夠充分體現出競賽的公平,那么賽程的安排就顯得非常重要。為了敘述方便,這里僅以假設各參賽隊實力水平相近或相同的情況下,要求參賽的兩隊在體力消耗上也相同的情況下如何安排比賽場次,也就是說不能出現一支隊伍剛參賽完,馬上和已經經休息好的另一隊進行比賽的情況出現。
首先根據題意畫出賽程安排的流程圖(見圖2)及相應的GUI界面的設計;然后根據流程圖寫出相應的響應程序;最后運行GUI,在相應的窗口輸入競賽隊數,就可以得到相應的賽程安排結果(見圖3)。響應程序如下所示:
4 結束語
從上面所舉的兩個實例當中可以看到,利用MATLAB的繪圖功能,可以為分析、解決問題提供出一個好的平臺,使人們能從可視化的角度把一些較為復雜、難度較大問題變得更具有操作性。特別是GUI的設計,可以幫助缺乏計算機編程知識的人們直接處理在生活或工作中所遇到的復雜問題,從而能為科學技術的推廣與應用提供很大的方便。
參考文獻
[1]劉慧穎.MATLAB R2007基礎教程[M].北京:清華大學出版社.2008
[2]徐利民.基于MATLAB的信號與系統實驗教程[M].北京:清華大學出版社.2010
[3]駱文,趙強.MATLAB在信號與系統中的應用[J].2010
[4] 王正林等.精通MATLAB7.北京:清華大學出版社.2006
[5]陳楊等.MATLAB6.X圖形編程與圖像處理[M].北京:清華大學出版社.2006