基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)學(xué)位論文參考模板_第1頁
基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)學(xué)位論文參考模板_第2頁
基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)學(xué)位論文參考模板_第3頁
基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)學(xué)位論文參考模板_第4頁
基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)學(xué)位論文參考模板_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)摘 要 MATLAB是一種以矩陣運(yùn)算為基礎(chǔ)的交互式程序語言。它集成了數(shù)值計(jì)算、矩陣計(jì)算和圖形繪制功能。目前,廣泛應(yīng)用于研究、解決各種數(shù)學(xué)及工程問題。本設(shè)計(jì)主要研究基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)及其實(shí)現(xiàn),介紹MATLAB與Word之間的交互式鏈接的實(shí)現(xiàn)(即Notebook功能),講述運(yùn)用GUI工具實(shí)現(xiàn)交互式教學(xué)系統(tǒng)界面的設(shè)計(jì)方法,所設(shè)計(jì)系統(tǒng)可以實(shí)現(xiàn)常用函數(shù)圖形三維坐標(biāo)演示以及程序和圖形在Word中的顯示,方便論文及報(bào)告的撰寫。關(guān)鍵詞:MATLAB,Notebook,Word,交互式,教學(xué)系統(tǒng),GUI 1 / 41第一章 緒 論1.1 引言

2、MATLAB 是英文Matrix Laboratory(矩陣實(shí)驗(yàn)室)的簡稱,是美國MathWorks公司推出的科學(xué)計(jì)算語言,亦稱數(shù)學(xué)軟件。具有可靠的數(shù)值計(jì)算和符號(hào)計(jì)算功能、強(qiáng)大的繪圖功能、簡單易學(xué)的語言體系以及為數(shù)眾多的應(yīng)用工具箱,主要應(yīng)用于工程計(jì)算、數(shù)值分析、自動(dòng)控制理論、數(shù)字信號(hào)處理與通訊、時(shí)間序列分析、圖像處理、動(dòng)態(tài)系統(tǒng)仿真、信號(hào)檢測、金融建模設(shè)計(jì)與分析等領(lǐng)域。Notebook用來將Microsoft Word與MATLAB集成為一體,為用戶營造一個(gè)融文件處理、科學(xué)計(jì)算和工程設(shè)計(jì)為一體的工作環(huán)境。其核心是m-book模板,它為用戶提供了在Word環(huán)境下使用MATLAB的功能,實(shí)現(xiàn)MATL

3、AB與Word之間的交互式鏈接。MATLAB自帶的功能強(qiáng)大的GUI(Graphical User Interface)工具,即圖形用戶界面,又稱圖形用戶接口,是指由窗口、菜單、對話框等各種圖形元素組成的用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面形象生動(dòng)、方便靈活,用戶易于接受。運(yùn)用GUI工具制作的系統(tǒng)界面,可方便實(shí)現(xiàn)交互式教學(xué)。1.2 選題背景、目的及意義 傳統(tǒng)的教學(xué)主要由課堂授課、作業(yè)、實(shí)驗(yàn)實(shí)踐、考試等幾個(gè)環(huán)節(jié)組成,其主要手段有板書、掛圖、教具、模型、幻燈、影像放映、實(shí)物講解等。從教學(xué)規(guī)律上講,傳統(tǒng)教學(xué)有簡便易行、成本相對低廉、符合認(rèn)知習(xí)慣等特點(diǎn)。但是傳統(tǒng)教育模式存在以下一些問題:

4、(1)課堂講授方式單調(diào),學(xué)生容易感到枯燥乏味。(2)上課時(shí)存在教師板書與學(xué)生記筆記的難題,教師與學(xué)生勞動(dòng)強(qiáng)度都較大,而且講授不連貫。(3)教師與學(xué)生間缺乏溝通,教師在完成一次課程的教學(xué)后就只有通過作業(yè)批改來了解學(xué)生的接受情況,而作業(yè)的批改在時(shí)間上往往存在較大的滯后,致使教師不能及時(shí)根據(jù)學(xué)生對知識(shí)的掌握情況來修改講課內(nèi)容和講課進(jìn)度,最后導(dǎo)致問題的堆積。(4)學(xué)生程度不同,而教學(xué)進(jìn)度卻一致,不利于因材施教。講課往往為了照顧接受能力較差的學(xué)生,采用適合于他們的進(jìn)度,對于接受能力強(qiáng)的學(xué)生來說是一種時(shí)間上的浪費(fèi)。(5)學(xué)生學(xué)習(xí)的自主性較差。學(xué)生一般是根據(jù)課表上課,若有選修課和專業(yè)課課表沖突,他可能不得不

5、放棄或自學(xué)選修課。 隨著信息時(shí)代的到來,以計(jì)算機(jī)和網(wǎng)絡(luò)通訊技術(shù)為代表的各種現(xiàn)代教學(xué)手段不斷涌現(xiàn),對傳統(tǒng)教學(xué)手段帶來了很大的沖擊?,F(xiàn)代教學(xué)手段主要有電視教學(xué)、多媒體教學(xué)、計(jì)算機(jī)模擬教學(xué)、網(wǎng)絡(luò)教學(xué)、虛擬現(xiàn)實(shí)教學(xué)等?,F(xiàn)代教學(xué)手段與傳統(tǒng)手段的基本區(qū)別是具有隨機(jī)性、交互性和仿真性。其建立在現(xiàn)代教育技術(shù)和教育信息化基礎(chǔ)之上,能夠綜合利用現(xiàn)有教學(xué)資源和各種軟件系統(tǒng),依托實(shí)用型終端平臺(tái)和局域網(wǎng)的建設(shè),采用多樣化的計(jì)算機(jī)輔助教學(xué)?,F(xiàn)代教學(xué)手段以信息處理的高速度高容量、多媒體和交互性,極大地提高了教學(xué)效率,有利于開發(fā)學(xué)生創(chuàng)造性思維,可能從根本上改變?nèi)藗兊乃季S習(xí)慣和傳統(tǒng)學(xué)習(xí)環(huán)境。計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的發(fā)展為我們提供了強(qiáng)

6、大的技術(shù)支持,可以極大地豐富我們的教育手段,從根本上解決傳統(tǒng)教育中存在的問題,開創(chuàng)一種全新的教學(xué)模式。計(jì)算機(jī)多媒體技術(shù)的發(fā)展給教師提供了功能強(qiáng)大的軟件開發(fā)平臺(tái)。教師運(yùn)用課件制作,可以匯集大量的文本、圖形、圖像、視頻、音頻資料,形成一個(gè)圖、文、聲并茂的多媒體CAI課件。它包含信息量大,能多種方式刺激學(xué)生感官,吸引其注意力,還可節(jié)約很多板書時(shí)間,易于學(xué)生理解,提高教學(xué)效率。如若課件中結(jié)合網(wǎng)絡(luò)技術(shù),運(yùn)用校園服務(wù)器,還可以讓學(xué)生隨時(shí)查閱課件,給學(xué)生提供了一本完整的課堂筆記,這很大程度上解決了學(xué)生聽課與記筆記之間的矛盾。若再加上網(wǎng)絡(luò)實(shí)時(shí)傳送技術(shù),還可實(shí)現(xiàn)虛擬課堂,學(xué)生可在不同的地方享受同樣的課堂教育,這

7、很大程度上解決了學(xué)生某些上課時(shí)間的沖突。教學(xué)手段是教育者通過教學(xué)內(nèi)容聯(lián)系教育對象的橋梁,是教學(xué)主體與客體交流教育信息的物質(zhì)基礎(chǔ)。多種教學(xué)手段的結(jié)合,是培養(yǎng)21世紀(jì)創(chuàng)新人才和發(fā)現(xiàn)式人才的教學(xué)認(rèn)知途徑。 MATLAB是一種以矩陣運(yùn)算為基礎(chǔ)的交互式程序語言。它把科學(xué)計(jì)算、結(jié)果的可視化和編程都集中在一個(gè)使用非常方便的環(huán)境中。典型的MATLAB應(yīng)用包括:數(shù)值和符號(hào)計(jì)算;數(shù)據(jù)分析、檢測和可視化;建模、仿真和科學(xué)與工程繪圖;應(yīng)用程序接口。其自帶的Notebook功能可以方便實(shí)現(xiàn)MATLAB與Word之間的交互式鏈接,自帶的強(qiáng)大的GUI(Graphical User Interface)工具,即圖形用戶界面,

8、又稱圖形用戶接口,是指由窗口、菜單、對話框等各種圖形元素組成的用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面形象生動(dòng)、方便靈活,用戶易于接受。其過程的視覺化、形象化,刺激大腦接受信息的興奮點(diǎn),激發(fā)學(xué)習(xí)興趣。借助計(jì)算機(jī)技術(shù),可實(shí)現(xiàn)人機(jī)對話,鞏固所學(xué)知識(shí),又提高計(jì)算機(jī)運(yùn)用水平。通過運(yùn)用MATLAB自帶的GUI工具,制作一種交互式系統(tǒng)界面,實(shí)現(xiàn)MATLAB與Word之間的交互式鏈接。 交互式教學(xué)系統(tǒng)的設(shè)計(jì)可很大程度上改善目前現(xiàn)有的教學(xué)環(huán)境,提供教師進(jìn)行課堂教學(xué)的演示課件,改善傳統(tǒng)教學(xué)中存在的問題,常用函數(shù)的三維圖形演示可方便用戶觀察、理解函數(shù)的圖形。用戶還可以在Word界面中編寫程序,方便實(shí)現(xiàn)

9、程序、運(yùn)行結(jié)果以及圖形同在Word中的顯示,為報(bào)告和文獻(xiàn)的撰寫提供很大的方便。1.3 國內(nèi)外研究現(xiàn)狀綜述 現(xiàn)代信息技術(shù)的迅猛發(fā)展極大地推動(dòng)了現(xiàn)代教育革新的步伐,促進(jìn)了新型教學(xué)手段、教學(xué)設(shè)備的涌現(xiàn)。計(jì)算機(jī)輔助教學(xué)(CAI)至今已經(jīng)有了30多年的發(fā)展歷史,CAI課件由單一的文本形式發(fā)展成了多媒體形式,由單機(jī)環(huán)境向分布式發(fā)展。目前已進(jìn)入了多媒體網(wǎng)絡(luò)化交互式教學(xué)階段。多媒體CAI網(wǎng)絡(luò)化教學(xué)是使用計(jì)算機(jī)作為工具、利用網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)和現(xiàn)代教學(xué)技術(shù)進(jìn)行教學(xué)活動(dòng)的一種嶄新的教學(xué)形式。利用多媒體編制各類CAI課件,由計(jì)算機(jī)、聲像設(shè)備和電子投影設(shè)備進(jìn)行廣播式或交互式教學(xué)活動(dòng),與傳統(tǒng)教學(xué)模式相比具有生動(dòng)形象、

10、主動(dòng)靈活、因材施教、資源共享等特點(diǎn)。這種教學(xué)形式教學(xué)信息內(nèi)涵豐富,精簡課時(shí),提高教學(xué)質(zhì)量和教學(xué)管理效率,它將成為21世紀(jì)教育的重要模式之一。 國內(nèi)外已經(jīng)有一些企業(yè)和公司致力于研究和開發(fā)交互式教學(xué)產(chǎn)品。國內(nèi)主要有:盛興利合、鴻合科技、蝶王科技以及海爾廣科等。盛興利合針對交互式教學(xué)系統(tǒng),提出了:基本型互動(dòng)系統(tǒng)、短距型互動(dòng)系統(tǒng)、錄課型互動(dòng)系統(tǒng)以及答題型互動(dòng)系統(tǒng)。鴻合多媒體交互式教學(xué)系統(tǒng)由鴻合HV系列交互式電子白板、鴻合中控展示臺(tái)、鴻合無線射頻磁感應(yīng)書寫板、日立多媒體投影儀等設(shè)備構(gòu)建而成。此外,海爾樂佰特互動(dòng)教學(xué)系統(tǒng),是基于無線通訊技術(shù)的互動(dòng)教學(xué)產(chǎn)品,基于互動(dòng)式教學(xué)、競爭性學(xué)習(xí)、個(gè)性化教學(xué)、面向?qū)W習(xí)者

11、個(gè)體的學(xué)習(xí)信息采集、學(xué)習(xí)過程跟蹤與監(jiān)控等設(shè)計(jì)理念,實(shí)現(xiàn)師生互動(dòng)。1.4 設(shè)計(jì)內(nèi)容與預(yù)期目標(biāo) 本文主要完成基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì),通過運(yùn)用MATLAB自帶的GUI工具實(shí)現(xiàn)MATLAB與Word之間的交互式鏈接。所設(shè)計(jì)系統(tǒng)包括兩個(gè)功能,一個(gè)是部分常用函數(shù)的三維圖形演示,另一個(gè)是通過按鈕打開Word界面(實(shí)現(xiàn)MATLAB的Notebook功能),進(jìn)行程序輸入、編輯、運(yùn)行。所設(shè)計(jì)系統(tǒng)能完成已編寫好的常用函數(shù)的三維圖形演示,還能通過Notebook功能在Word中方便實(shí)現(xiàn)程序、運(yùn)行結(jié)果和圖形的同一界面顯示。1.5 設(shè)計(jì)所采用的方法1.歸納法盡可能多的搜集現(xiàn)有的和過去的有關(guān)交互式教學(xué)系統(tǒng)的

12、資料,在對這些系統(tǒng)的設(shè)計(jì)及運(yùn)行情況進(jìn)行分析研究的基礎(chǔ)上,根據(jù)自己所設(shè)計(jì)系統(tǒng)的功能要求,給出一個(gè)能實(shí)現(xiàn)的理想系統(tǒng)模型。2.文獻(xiàn)資料法確定自己研究課題所涉及的范圍,搜集國內(nèi)外關(guān)于交互式教學(xué)系統(tǒng)的文獻(xiàn)資料,然后找出具有參考價(jià)值的篇目,從中盡可能的發(fā)現(xiàn)新的線索和方法,將所得材料不斷進(jìn)行整理、加工,整合成自己的思維過程。3.系統(tǒng)設(shè)計(jì)法系統(tǒng)總體設(shè)計(jì)需要進(jìn)行系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì),將一個(gè)系統(tǒng)分解成不同層次、多個(gè)模塊組成的子系統(tǒng),詳細(xì)設(shè)計(jì)時(shí)在模塊結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,給出每個(gè)模塊實(shí)現(xiàn)方法的細(xì)節(jié),并對細(xì)節(jié)做詳細(xì)描述,以便翻譯成編程語言實(shí)現(xiàn)模塊功能。第二章MATLAB的Notebook功能和GUI工具2.1 MATLAB的

13、Notebook功能2.1.1 Notebook的安裝與啟動(dòng)1.安裝隨MATLAB版本的升級,與其適配的版本也會(huì)發(fā)生變化。以MATLAB R2011a為例,能用來配置Notebook環(huán)境的Word是2002,2003,2007等版本。 在Windows已經(jīng)裝有前述Word版本的前提下,在MATLAB中配置Notebook環(huán)境十分簡便。只要在MATLAB指令窗口中運(yùn)行以下指令,配置過程將自動(dòng)進(jìn)行。 notebook-setup 假如指令窗口中出現(xiàn)如下信息,就表示配置成功。 Setup complete2.啟動(dòng)(1)在Word默認(rèn)窗口(即Normal.dot)下創(chuàng)建新的m-book文檔。選擇Wor

14、d窗口的下拉菜單項(xiàng),在Word界面右側(cè)引出“新建文檔”對話區(qū),如圖2-1所示。 在“新建文檔”對話區(qū)的“模板”欄中,點(diǎn)擊“本機(jī)上的模板”選項(xiàng),引出如圖2-2所示的“模板選擇”窗。在“模板選擇”窗中,雙擊m-book圖標(biāo),就完成了m-book新文檔的創(chuàng)建。假如在創(chuàng)建m-book前,MATLAB尚未開啟,那么此時(shí)就會(huì)自動(dòng)開啟一個(gè)MATLAB作為其服務(wù)器。圖2-1 在普通Word空白文檔中出現(xiàn)的操作界面圖2-2 模板選擇窗(2)在MATLAB中創(chuàng)建新的m-book文件。在MATLAB指令窗中運(yùn)行以下指令,都可以創(chuàng)建新的m-book文件,即 notebook %引出一個(gè)未命名的m-book文檔界面。

15、notebook NewFileName %在當(dāng)前目錄上創(chuàng)建名為 NewFileName的空白文件。(3)在Word默認(rèn)窗口下打開已有的m-book文件。在Word默認(rèn)的窗口下打開已有m-book文件的方法與打開一般Word文件沒有兩樣。最常用的方法是選中下拉菜單項(xiàng)“文件”中的“打開”,然后從彈出的對話框中選擇所需要編輯的m-book文件。以上指令運(yùn)行后,自動(dòng)開啟一個(gè)新的MATLAB作為m-book的服務(wù)器,而不管此前Windows平臺(tái)上是否已經(jīng)開啟了MATLAB。新開啟的MATLAB窗口的當(dāng)前目錄是MATLAB軟件所在目錄。如果原來的MATLAB窗口是由notebook開啟的則不會(huì)再開出新窗

16、口。(4)在資源管理器中打開已有的m-book文件。在資源管理器中,雙擊已有的m-book文件,所出現(xiàn)的現(xiàn)象與開啟方式(3)相同。(5)在MATLAB當(dāng)前目錄窗中打開已有的m-book文件。在MATLAB當(dāng)前目錄窗中,雙擊已有的m-book文件,所出現(xiàn)的現(xiàn)象與開啟方式(1)相同。(6) 在MATLAB指令窗中開啟已有的m-book文件。在MATLAB指令窗中,運(yùn)行指令notebook(FN.doc),在此FN是已有的m-book文件名。特別提醒:FN之后一定要帶擴(kuò)展名.doc,否則將造成“清空原文件”的嚴(yán)重后果。該指令運(yùn)行后,將把當(dāng)前MATLAB設(shè)置成文件FN.doc的自動(dòng)服務(wù)器,而不再開啟新

17、的MATLAB。2.1.2 MATLAB與Word的互相調(diào)用1.在 MATLAB中調(diào)用Word在MATLAB命令窗口直接輸入notebook命令,系統(tǒng)會(huì)自動(dòng)啟動(dòng)Word,其主菜單欄中將增加Notebook一欄。如圖2-3所示。圖2-3 MATLAB中調(diào)用Word2.在Word中調(diào)用MATLAB啟動(dòng)Word,然后選擇“文件”菜單下的“新建”,打開如圖2-4所示模板,點(diǎn)擊“m-book.dot”后系統(tǒng)會(huì)自動(dòng)啟動(dòng)MATLAB。圖2-4 Word中調(diào)用MATLAB2.1.3 Notebook的使用指令Notebook某種意義上即是Word中的m-book, Notebook是通過動(dòng)態(tài)鏈接庫和MATLA

18、B交互的,交互的基本單位稱為細(xì)胞(Cell)。交換的信息,稱為“細(xì)胞(群)”。m-book需要把在Word中輸入的MATLAB命令或者語句組成細(xì)胞(群),傳送到MATLAB中運(yùn)行,運(yùn)行輸出結(jié)果再以細(xì)胞(群)的方式傳送回m-book中。這樣Word中的輸入細(xì)胞(群)下面會(huì)出現(xiàn)計(jì)算結(jié)果以及仿真圖形。“輸入細(xì)胞”是由m-book傳送給MATLAB的命令,可以多行,也可以是包含在文本中的命令或者一段MATLAB程序?!拜敵黾?xì)胞”是由MATLAB回傳給m-book的計(jì)算結(jié)果。“自活細(xì)胞”是用Notebook菜單中Define Auto Init Cell命令定義的輸入細(xì)胞,它和輸入細(xì)胞不同之處是:每次打

19、開m-book時(shí)會(huì)自動(dòng)運(yùn)行自活細(xì)胞,而不會(huì)運(yùn)行輸入細(xì)胞。自活細(xì)胞字符用深藍(lán)色標(biāo)注,而輸入細(xì)胞用綠色標(biāo)注。“細(xì)胞群”是包含多句MATLAB命令的多行輸入細(xì)胞或自活細(xì)胞。生成輸入細(xì)胞:在Word中,首先以文本格式輸入指令,然后選中該部分,在Notebook菜單中用Define Input Cell命令或用組合鍵ALT+D,就會(huì)把該文本生成綠色的“輸入細(xì)胞”。運(yùn)行輸入細(xì)胞:把光標(biāo)放在“輸入細(xì)胞”之后,然后在Notebook菜單中用Evaluate Cell選項(xiàng)或用組合鍵CTRL+ENTER,就可以把生成細(xì)胞傳送到MATLAB中運(yùn)算,運(yùn)算結(jié)果會(huì)自動(dòng)回傳到m-book中,運(yùn)算結(jié)果標(biāo)識(shí)為藍(lán)色。細(xì)胞群和細(xì)胞

20、的操作相似。Notebook還提供了計(jì)算區(qū)(Calc Zone),它把m-book分成幾個(gè)相互獨(dú)立的部分,包括:描述一個(gè)特定問題或特定操作文本,輸入細(xì)胞,輸出細(xì)胞。當(dāng)定義一個(gè)計(jì)算區(qū)時(shí),Notebook將該部分和m-book其它部分獨(dú)立出來,它的定義以及運(yùn)行和輸入細(xì)胞的操作相似。Notebook還提供了細(xì)胞的循環(huán)運(yùn)行,首先選定欲重復(fù)運(yùn)行的輸入細(xì)胞(一定要是綠色細(xì)胞),接著在Notebook菜單中選Evaluate Loop選項(xiàng)。Notebook菜單功能如表2-1所示。表2-1 Notebook菜單功能菜單項(xiàng)功能Define Input Cell定義輸入細(xì)胞Define Auto Init Cel

21、l定義自活細(xì)胞Define Calc Zone定義計(jì)算區(qū)Undefine Cells將細(xì)胞轉(zhuǎn)為文本Purge Selected Output Cells所選篇幅中刪除所有輸出細(xì)胞Group Cells生成細(xì)胞群Ungroup Cells將細(xì)胞群轉(zhuǎn)換為輸入細(xì)胞或自活細(xì)胞Hide(Show) Cells Markers隱藏(顯示)生成細(xì)胞中括號(hào)Toggle Graph Output for Cell是否嵌入生成圖形Evaluate Cell運(yùn)行輸入細(xì)胞Evaluate Calc Zone運(yùn)行計(jì)算區(qū)Evaluate M-book運(yùn)行整個(gè)M-book中的所有輸入細(xì)胞Evaluate Loop多次運(yùn)行輸

22、入細(xì)胞Bring MATLAB to Front將MATLAB命令窗口調(diào)到前臺(tái)Notebook Options設(shè)置數(shù)值和圖形輸出格式2.2 MATLAB的GUI工具圖形用戶界面(GUI)是使用圖形對象(按紐、文本框、滾動(dòng)條、菜單等)創(chuàng)建的用戶界面,這些對象對用戶而言具有明確的含義。圖形用戶界面是提供人機(jī)交互的工具和方法。通過它可以實(shí)現(xiàn)數(shù)據(jù)的輸入、處理和輸出。GUIDE是MATLAB提供的一個(gè)專門GUI設(shè)計(jì)工具。實(shí)現(xiàn)一個(gè)GUI的過程包括兩個(gè)基本任務(wù):一是GUI的組件布局,另一個(gè)是GUI組件編程。另外的任務(wù)是保存和發(fā)布GUI。這些功能的實(shí)現(xiàn)通過圖形用戶開發(fā)環(huán)境GUIDE來完成。GUIDE提供一系列

23、創(chuàng)建GUI的工具。主要由7部分組成:版面設(shè)計(jì)器、屬性編輯器、菜單編輯器、調(diào)整工具,對象瀏覽順序編輯器和m文件編輯器。在命令窗輸入guide,啟動(dòng)GUIDE模板。用戶可以創(chuàng)建新的或打開已經(jīng)存在的GUI。1.GUIDE完成下面的任務(wù)(1)輸出GUI使用GUIDE輸出編輯器,通過單擊和拖拉組件布局GUI并保存組件資源在一個(gè)FIG文件中。(2)GUI編程GUIDE自動(dòng)生成一個(gè)控制GUI如何操作的m文件,該m文件初始化GUI界面,并包含一個(gè)GUI回調(diào)事件的框架。使用m文件編輯器,可以向回調(diào)事件中添加代碼,運(yùn)行相關(guān)函數(shù)。2. GUI模板GUIDE對話框提供了幾種基本類型的GUI模板。選擇一種模板以后,可以

24、查看預(yù)覽效果。如圖2-5所示是 Blank GUI(Default)缺省模板。以下是對相應(yīng)菜單功能說明。(1):菜單編輯器用以創(chuàng)建、設(shè)置、修改下拉式菜單(Menu Bar)和彈出式菜單(Context Bar)。(2):屬性編輯器用以查看、設(shè)置、修改對象的屬性值。(3):對象瀏覽器用以查看當(dāng)前設(shè)計(jì)階段的各個(gè)句柄圖形對象。(4):Tab次序編輯器設(shè)置用戶按下鍵盤上的Tab鍵時(shí),對象被選中的前后次序。(5):調(diào)整工具對對象設(shè)計(jì)編輯器中的多個(gè)對象的位置進(jìn)行調(diào)整。(6):m文件編輯器顯示回調(diào)函數(shù)的列表,在列表中單擊所選擇的回調(diào)函數(shù),則m文件編輯器自動(dòng)定位到此回調(diào)函數(shù)所對應(yīng)的代碼段,在代碼段用戶可以根據(jù)

25、自己的需求進(jìn)行編輯代碼以完成期望的功能。(7):工具條編輯器。:運(yùn)行按鈕。圖2-5 Blank GUI(Default)缺省模板 3.GUI設(shè)計(jì)原則界面設(shè)計(jì)最重要的原則是簡單、直觀、對用戶透明。GUI設(shè)計(jì)的關(guān)鍵是使人機(jī)之間能夠準(zhǔn)確地交流信息,使輸入、處理、與輸出分明,充分體現(xiàn)GUI界面的通信功能。界面設(shè)計(jì)的一致性、GUIDE提供多種控件選擇,設(shè)計(jì)中應(yīng)該避免在界面中使用所有控件。選擇時(shí)應(yīng)該盡量減少用戶界面,簡化應(yīng)用程序編寫??丶牟季郑嚎丶季忠话阕裱瓘淖蟮接遥瑥纳系较?,主要元素位于左、上部分。次要元素處于右、下方處。2.3 小結(jié)本章主要介紹了MATLAB的Notebook功能和GUI工具,詳細(xì)

26、介紹了Notebook的安裝、啟動(dòng)及應(yīng)用。還簡單介紹了GUI工具的界面以及其遵循的原則。第三章基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì)3.1 系統(tǒng)的內(nèi)容體系本系統(tǒng)包含部分常用函數(shù)的三維坐標(biāo)圖形演示以及可供編寫程序、運(yùn)行結(jié)果、圖形顯示的Word界面。用戶可以進(jìn)行部分常用函數(shù)的三維圖形查看,因?yàn)樵O(shè)計(jì)有限,程序還可以通過Word界面進(jìn)行編輯、運(yùn)行,進(jìn)行程序、運(yùn)行結(jié)果和圖形的同一界面顯示。常用部分函數(shù)圖像演示包括f(z)=z、f(z)=z2、f(z)=z3、f(z)=1/z、f(z)=atan(z)等系統(tǒng)函數(shù)。系統(tǒng)內(nèi)容體系結(jié)構(gòu)如圖3-1所示。交互式教學(xué)系統(tǒng)函數(shù)圖形演示子系統(tǒng)打開word界面子系統(tǒng)退出系統(tǒng)

27、圖3-1 系統(tǒng)內(nèi)容體系結(jié)構(gòu)3.2 系統(tǒng)的設(shè)計(jì)原則1.操作性原則用戶在動(dòng)手操作的過程中理解系統(tǒng)的構(gòu)成和各個(gè)模塊和菜單按鈕的功能,進(jìn)行程序輸入、運(yùn)行結(jié)果和圖形顯示的體驗(yàn)。2.交互性原則系統(tǒng)通過GUI設(shè)計(jì)可視化界面,用戶通過界面上的功能按鈕不僅可以完成基本的函數(shù)三維坐標(biāo)圖形演示功能,還可以在打開的Word界面輸入程序進(jìn)行運(yùn)行,實(shí)現(xiàn)程序、運(yùn)行結(jié)果和圖形的同一界面顯示。修改程序中的部分語句還可以進(jìn)行圖形和運(yùn)行結(jié)果的變化對比,理解部分參數(shù)變化對運(yùn)行結(jié)果的影響。3.可擴(kuò)展原則本系統(tǒng)只是包含了部分函數(shù)的三維坐標(biāo)圖像演示功能,用戶還可以在此基礎(chǔ)上根據(jù)自己需求進(jìn)行再添加,還可以根據(jù)需求進(jìn)行系統(tǒng)功能按鈕擴(kuò)充,不斷的

28、完善強(qiáng)大系統(tǒng)的功能。3.3 系統(tǒng)的GUI實(shí)現(xiàn)3.3.1 系統(tǒng)結(jié)構(gòu)1.主界面實(shí)現(xiàn)進(jìn)入子系統(tǒng)、選擇系統(tǒng)函數(shù)和退出系統(tǒng)的功能。2.子系統(tǒng)包含部分常用函數(shù)的三維坐標(biāo)圖形演示系統(tǒng)和用以進(jìn)行程序輸入編輯、運(yùn)行結(jié)果和圖形顯示功能的Word界面系統(tǒng)。3.3.2 功能設(shè)計(jì)1.主界面功能主界面設(shè)計(jì)實(shí)現(xiàn)功能:系統(tǒng)名稱顯示、子系統(tǒng)選擇、退出系統(tǒng)。系統(tǒng)名稱顯示:實(shí)現(xiàn)本系統(tǒng)名稱“歡迎進(jìn)入交互式教學(xué)系統(tǒng)”的顯示。子系統(tǒng)選擇:實(shí)現(xiàn)從界面進(jìn)入函數(shù)圖形演示子系統(tǒng)和Word界面子系統(tǒng)功能。退出系統(tǒng):實(shí)現(xiàn)系統(tǒng)退出的功能。2.控件選擇與布局(1)主界面選擇靜態(tài)文本框(text)顯示系統(tǒng)名稱,子系統(tǒng)選擇通過獨(dú)立按鈕實(shí)現(xiàn),并放置在界面中心

29、位置。通過界面底色、按鈕和字體顏色的設(shè)置,使界面布局簡捷、清晰并增加界面立體感。退出系統(tǒng)功能也是通過按鈕實(shí)現(xiàn)。效果如圖3-2所示。圖3-2 系統(tǒng)主界面(2)次界面選擇靜態(tài)文本框(text)顯示系統(tǒng)名稱,系統(tǒng)函數(shù)選擇通過獨(dú)立按鈕實(shí)現(xiàn),并放置于界面上部。圖形顯示區(qū)域通過坐標(biāo)控件實(shí)現(xiàn),放置于下部。返回功能也是通過按鈕實(shí)現(xiàn)。效果如圖3-3所示。圖3-3 函數(shù)圖形演示子系統(tǒng)界面 通過靜態(tài)文本框(text)顯示系統(tǒng)名稱,界面說明通過組件盤控件實(shí)現(xiàn),進(jìn)入、返回功能通過組件盤放置獨(dú)立按鈕實(shí)現(xiàn)。效果如圖3-4所示。圖3-4 打開Word界面子系統(tǒng)界面 點(diǎn)擊進(jìn)入按鈕,便可打開Word界面。效果如下圖3-5所示。圖

30、3-5 打開后的Word界面3.控件功能實(shí)現(xiàn)界面上所有控件通過MATLAB程序?qū)崿F(xiàn)功能,主要包括(主界面回調(diào)函數(shù))見附錄一。 函數(shù)圖形演示子系統(tǒng)界面回調(diào)函數(shù)見附錄二。 打開Word界面子系統(tǒng)回調(diào)函數(shù)見附錄三。3.4 小結(jié)本章是設(shè)計(jì)的重點(diǎn)內(nèi)容。主要研究系統(tǒng)內(nèi)容體系設(shè)計(jì)和設(shè)計(jì)所遵循的原則以及系統(tǒng)的圖形用戶界面的實(shí)現(xiàn)方法和過程。包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、功能設(shè)計(jì)、控件選擇與布局以及控件功能的編程實(shí)現(xiàn)。第四章系統(tǒng)實(shí)例應(yīng)用效果展示以及設(shè)計(jì)創(chuàng)新4.1 系統(tǒng)實(shí)例應(yīng)用效果展示4.1.1 函數(shù)圖形演示子系統(tǒng)演示函數(shù)f(z)=z的圖形界面效果如圖4-1所示。圖4-1 函數(shù)f(z)=z圖形演示效果界面演示函數(shù)f(z)=z2

31、的圖形界面效果如圖4-2所示。圖4-2 函數(shù)f(z)=z2圖形演示效果界面演示函數(shù)f(z)=z3的圖形界面效果如圖4-3所示。圖4-3 函數(shù)f(z)=z3圖形演示效果界面演示函數(shù)f(z)=1/z的圖形界面效果如圖4-4所示。圖4-4 函數(shù)f(z)=1/z圖形演示效果界面演示函數(shù)f(z)=atan(z)的圖形界面效果如圖4-5所示。圖4-5 函數(shù)f(z)=atan(z)圖形演示效果界面演示函數(shù)f(z)=z(1/2)(平面)的圖形界面效果如圖4-6所示。圖4-6 函數(shù)f(z)=z(1/2)(平面)圖形演示效果界面演示函數(shù)f(z)=z(1/2)(立體)的圖形界面效果如圖4-7所示。圖4-7 函數(shù)f(

32、z)=z(1/2)(立體)圖形演示效果界面演示函數(shù)f(z)=z(1/3)的圖形界面效果如圖4-8所示。圖4-8 函數(shù)f(z)=z(1/3)圖形演示效果界面4.1.2 Word界面子系統(tǒng)應(yīng)用1.輸入以下程序段(函數(shù)f(z)=z): z = cplxgrid(30); cplxmap(z,z) title(z)選中程序,按Ctrl+Enter運(yùn)行程序,運(yùn)行結(jié)果顯示如圖4-9所示。圖4-9 Word界面子系統(tǒng)應(yīng)用(函數(shù)f(z)=z)效果2.輸入以下程序段(求向量x的最大值): x=-43,72,9,16,23,47; y=max(x) %求向量x中的最大值 x=-43,72,9,16,23,47;

33、y,l=max(x) %求向量x中的最大值及其該元素的位置選中程序,按Ctrl+Enter運(yùn)行程序,運(yùn)行結(jié)果顯示如圖4-10所示。圖4-10 Word界面子系統(tǒng)應(yīng)用(求向量x最大值)效果3.輸入以下程序段(對矩陣做各種排序): A=1,-8,5;4,12,6;13,7,-13 sort(A) %對A的每列按升序排列 A=1,-8,5;4,12,6;13,7,-13 -sort(-A,2) %對A的每行按降序排列 A=1,-8,5;4,12,6;13,7,-13 X,I=sort(A) %對A按列排序,并將每個(gè)元素所在行號(hào)送矩陣I選中程序,按Ctrl+Enter運(yùn)行程序,運(yùn)行結(jié)果顯示如圖4-11

34、所示。圖4-11 Word界面子系統(tǒng)應(yīng)用(對矩陣做各種排序)效果4.2 設(shè)計(jì)創(chuàng)新本設(shè)計(jì)把部分函數(shù)的三維圖形演示展現(xiàn)在一個(gè)界面,只需按對應(yīng)函數(shù)按鈕就可以實(shí)現(xiàn)圖形演示。按相應(yīng)功能按鈕就可以打開Word界面,進(jìn)行程序輸入與編輯,使程序、圖形、運(yùn)行結(jié)果得以在同一Word界面顯示,實(shí)現(xiàn)了基于Notebook功能的MATLAB與Word之間的交互式鏈接。4.3 小結(jié)本章節(jié)主要展示了本設(shè)計(jì)系統(tǒng)的實(shí)例應(yīng)用效果,并提出本系統(tǒng)的設(shè)計(jì)創(chuàng)新點(diǎn)。結(jié)束語本設(shè)計(jì)為基于MATLAB的交互式教學(xué)系統(tǒng)的設(shè)計(jì),通過GUI工具實(shí)現(xiàn)交互式系統(tǒng)界面的制作及功能演示。實(shí)現(xiàn)了基于Notebook功能進(jìn)行的MATLAB與Word之間的交互式鏈

35、接。所設(shè)計(jì)的系統(tǒng),不僅可以進(jìn)行一些部分常用函數(shù)的三維圖形演示,還可以通過按鈕方便的進(jìn)出系統(tǒng),打開Word操作界面,進(jìn)行程序輸入編輯,實(shí)現(xiàn)程序、運(yùn)行結(jié)果及圖形的同一界面顯示。三維圖形演示功能只是包含了很少一部分函數(shù),用戶還可以根據(jù)自己的需要進(jìn)行再添加。本設(shè)計(jì)還可以通過GUI工具添加三個(gè)按鈕,分別為程序按鈕、圖形按鈕、運(yùn)行結(jié)果按鈕,在這樣的一個(gè)界面下,操作不同的功能按鈕就能實(shí)現(xiàn)基于Notebook功能進(jìn)行的MATLAB與Word之間的交互式鏈接,讓程序、圖形和運(yùn)行結(jié)果可以在同一Word界面進(jìn)行分區(qū)顯示。由于能力有限,這只能在后續(xù)探索實(shí)踐中得以實(shí)現(xiàn)。參考文獻(xiàn)1姜長元.Matlab和Word的鏈接及應(yīng)

36、用J.洛陽師范學(xué)院學(xué)報(bào).2005,(2):87-882孫曉雅.Matlab與Word的無縫連接方法及其應(yīng)用J.電腦知識(shí)與技術(shù).2006,(32):98-1073張曉利.Matlab與Word的無縫連接及其應(yīng)用J.價(jià)值工程.2011,(5):172-1734呂喜明,劉春艷.Matlab在Word中的嵌入及其在軟件教學(xué)中的應(yīng)用J.內(nèi)蒙古財(cái)經(jīng)學(xué)院學(xué)報(bào)(綜合版).2009,(5):116-1195馮積社.Matlab中交互式功能的分析和實(shí)現(xiàn)J.隴東學(xué)院學(xué)報(bào)(自然科學(xué)版).2006,16(2)6蔡茂蓉,林茂松.Notebook與Word的通信及其在教學(xué)中的應(yīng)用J.現(xiàn)代計(jì)算機(jī).2007,(1):103-1

37、057成曉明,彭佳揚(yáng),田淑杭,許云龍.基于Matlab的交互式教學(xué)系統(tǒng)軟件開發(fā)技術(shù)J.計(jì)算機(jī)工程與應(yīng)用.2002,(15):114-1168林瓊.國外交互性形式教學(xué)研究綜述J.天津外國語學(xué)院學(xué)報(bào).2009,16(3):63-689王巧花,葉平,黃民.基于MATLAB的圖形用戶界面(GUI)設(shè)計(jì)J.煤礦機(jī)械.2005,(3):60-6110吳迪,張星.利用MATLAB的GUI功能制作交互式演示實(shí)驗(yàn)軟件J.大學(xué)物理實(shí)驗(yàn).2006,19(2):74-7511徐俊文,王強(qiáng).MATLAB環(huán)境下的GUI編程J.內(nèi)蒙古民族大學(xué)學(xué)報(bào)(自然科學(xué)版).2006,21(6)12沈捷,王莉.基于MATLAB的圖形交互

38、式數(shù)字信號(hào)處理教學(xué)實(shí)驗(yàn)系統(tǒng)J.電腦開發(fā)與應(yīng)用.2007,20(9):59-6113陳鴻,商細(xì)云.利用現(xiàn)代教學(xué)手段改革傳統(tǒng)教學(xué)模式J.華北工學(xué)院學(xué)報(bào)(社科版).2003,(3):27-4014FeiHu,lixia.GUI Design:from Information Architecture to Interactive Experience.2008 IEEE 9th International Conference on Computer-Aided Industrial Design & Conceptual Design.china.11,2008致謝借此論文完成之際,衷心感謝我的指

39、導(dǎo)老師湯全武副教授。從選題到論文的成稿,自始至終離不開湯老師的指導(dǎo),湯老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和孜孜不倦的追求知識(shí)的進(jìn)取精神讓我受益匪淺。在此,再一次謹(jǐn)向湯老師致以衷心的感謝!感謝學(xué)校,給了我知識(shí),給了我思想,給了我成長,給了我舞臺(tái)。讓我在這里得以四年的學(xué)習(xí)與生活,在這里我學(xué)到了很多,成長了許多。感謝學(xué)院的領(lǐng)導(dǎo)和老師,謝謝他們的辛勤教誨!向所有關(guān)心、愛護(hù)和幫助過我的人表示衷心的感謝!附錄一function varargout = JHSJX(varargin)% JHSJX M-file for JHSJX.fig% JHSJX, by itself, creates a new JHSJX or

40、raises the existing% singleton*.% H = JHSJX returns the handle to a new JHSJX or the handle to% the existing singleton*.% JHSJX(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in JHSJX.M with the given input arguments.% JHSJX(Property,Value,.) creates a new JHSJX or ra

41、ises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before JHSJX_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to JHSJX_OpeningFcn via varargin.% *See GUI Options on

42、 GUIDEs Tools menu. Choose GUI allows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help JHSJX% Last Modified by GUIDE v2.5 08-Mar-2012 08:38:11% Begin initialization code - DO NOT

43、EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, JHSJX_OpeningFcn, . gui_OutputFcn, JHSJX_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout

44、1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before JHSJX is made visible.function JHSJX_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject ha

45、ndle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to JHSJX (see VARARGIN)% Choose default command line output for JHSJXhandles.output = hObject;% Update handles structureguidat

46、a(hObject, handles);% UIWAIT makes JHSJX wait for user response (see UIRESUME)% uiwait(handles.figure1);% - Outputs from this function are returned to the command line.function varargout = JHSJX_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);%

47、 hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = handles.output;% - Executes on button press in pushbuttonXT.function pushbuttonX

48、T_Callback(hObject, eventdata, handles)% hObject handle to pushbuttonXT (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)JHSclose(JHSJX)% - Executes on button press in pushbuttonBJ.function pushbuttonBJ_Callback(h

49、Object, eventdata, handles)% hObject handle to pushbuttonBJ (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)JHS1close(JHSJX)% - Executes on button press in pushbuttonTCXT.function pushbuttonTCXT_Callback(hObject,

50、 eventdata, handles)% hObject handle to pushbuttonTCXT (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)Close附錄二function varargout = JHS(varargin)% JHS M-file for JHS.fig% JHS, by itself, creates a new JHS or rais

51、es the existing% singleton*.% H = JHS returns the handle to a new JHS or the handle to% the existing singleton*.% JHS(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in JHS.M with the given input arguments.% JHS(Property,Value,.) creates a new JHS or raises the% existi

52、ng singleton*. Starting from the left, property value pairs are% applied to the GUI before JHS_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to JHS_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu.

53、Choose GUI allows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help JHS% Last Modified by GUIDE v2.5 09-Mar-2012 20:42:08% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, JHS_OpeningFcn, . gui_OutputFcn, JHS_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論