MATLAB課程設(shè)計(jì)實(shí)驗(yàn)體會(huì)講解_第1頁(yè)
MATLAB課程設(shè)計(jì)實(shí)驗(yàn)體會(huì)講解_第2頁(yè)
MATLAB課程設(shè)計(jì)實(shí)驗(yàn)體會(huì)講解_第3頁(yè)
MATLAB課程設(shè)計(jì)實(shí)驗(yàn)體會(huì)講解_第4頁(yè)
MATLAB課程設(shè)計(jì)實(shí)驗(yàn)體會(huì)講解_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)實(shí)驗(yàn)體會(huì)學(xué)生姓名:李祥勝學(xué)生學(xué)號(hào):20120704專(zhuān)業(yè)班級(jí):光信息科學(xué)與技術(shù)扌旨導(dǎo)老師:miss Chen學(xué) 院:信息工程學(xué)院題 目:MATLAB學(xué)期實(shí)驗(yàn)總結(jié)MATLAB概念及介紹MATLAB是matrix&laboratory兩個(gè)詞的組合,意為矩陣工廠(矩陣實(shí)驗(yàn)室)。 是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì) 的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài) 系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決 方案,并在很大程度上擺脫了

2、傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。MATLAB和Mathematics Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類(lèi)科技應(yīng) 用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程 計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析 等領(lǐng)域。MATLA集成環(huán)境主要包括五個(gè)部分:MATLA語(yǔ)言、MATLA工作環(huán)境、句柄 圖形、MATLAB數(shù)學(xué)函數(shù)庫(kù)和數(shù)學(xué)建模、小波分析、 MATLAB API(App licatio nProgram

3、 In terface) 。MATLAB語(yǔ)言是以數(shù)組為基本數(shù)據(jù)單位,包括控制流程語(yǔ)句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸人輸出及面向?qū)ο蟮忍?點(diǎn)的高級(jí)語(yǔ)言。利用SIMULINK對(duì)系統(tǒng)進(jìn)行仿真與分析,在進(jìn)入虛擬實(shí)驗(yàn)環(huán)境后, 不需要書(shū)寫(xiě)代碼,只需使用鼠標(biāo)拖動(dòng)庫(kù)中的功能模塊并將它們連接起來(lái),再按照實(shí)驗(yàn)要求修改各元器件的參數(shù)。通過(guò)虛擬實(shí)驗(yàn)環(huán)境建立實(shí)驗(yàn)仿真電路模型,可使 一些枯燥的電路變得有趣味,復(fù)雜的波形變得形象生動(dòng),使得各種復(fù)雜的能量轉(zhuǎn) 換過(guò)程比較直觀地呈現(xiàn)。1.1、MATLA語(yǔ)言特點(diǎn)及優(yōu)勢(shì)1.1.1、語(yǔ)言特點(diǎn)MATLAB被稱為第四代計(jì)算機(jī)語(yǔ)言,利用其豐富的函數(shù)資源,使編程人員從 繁瑣的程序代碼中解放出來(lái)。MATL

4、AB勺最突出的特點(diǎn)就是簡(jiǎn)潔。MATLA用更直 觀的、符合人們思維習(xí)慣的代碼,代替了 C和FORTRA語(yǔ)言的冗長(zhǎng)代碼。MATLAB 給用戶帶來(lái)的是最直觀、最簡(jiǎn)潔的程序開(kāi)發(fā)環(huán)境。以下簡(jiǎn)單介紹一下MATLAB勺主要特點(diǎn)。(1) 語(yǔ)言簡(jiǎn)潔緊湊,使用方便靈活,庫(kù)函數(shù)極其豐富。 MATLABg序書(shū)寫(xiě)形 式自由,利用其豐富的庫(kù)函數(shù)避開(kāi)繁雜的子程序編程任務(wù), 壓縮了一切不必要的 編程工作。由于庫(kù)函數(shù)都由本領(lǐng)域的專(zhuān)家編寫(xiě),用戶不必?fù)?dān)心函數(shù)的可靠性。(2) 運(yùn)算符豐富。由于 MATLA是用C語(yǔ)言編寫(xiě)的,MATLA提供了和C語(yǔ)言 幾乎一樣多的運(yùn)算符,靈活使用 MATLAB勺運(yùn)算符將使程序變得極為簡(jiǎn)短,具體 運(yùn)算符見(jiàn)

5、附表。(3) MATLAB既具有結(jié)構(gòu)化的控制語(yǔ)句(如 for循環(huán)、while循環(huán)、break語(yǔ) 句和if語(yǔ)句),又有面向?qū)ο缶幊痰奶匦浴?4) 語(yǔ)法限制不嚴(yán)格,程序設(shè)計(jì)自由度大。例如,在MATLA里,用戶無(wú)需 對(duì)矩陣預(yù)定義就可使用。(5) 程序的可移植性很好,基本上不做修改就可以在各種型號(hào)的計(jì)算機(jī)和操 作系統(tǒng)上運(yùn)行。(6) MATLAB勺圖形功能強(qiáng)大。在FORTRA和C語(yǔ)言里,繪圖都很不容易, 但在MATLAB!,數(shù)據(jù)的可視化非常簡(jiǎn)單。MATLABS具有較強(qiáng)的編輯圖形界面的 能力。(7) MATLAB勺缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于 MATLAB的程序不用編譯等預(yù)處理,

6、也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所 以速度較慢。(8) 功能強(qiáng)勁的工具箱是 MATLAB勺另一重大特色。MATLAB包含兩個(gè)部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個(gè)核心內(nèi)部函數(shù)。 其工具箱又 可分為兩類(lèi):功能性工具箱和學(xué)科性工具箱。功能性工具箱主要用來(lái)擴(kuò)充其符號(hào) 計(jì)算功能、圖示建模仿真功能、文字處理功能以及與硬件實(shí)時(shí)交互功能。功能性 工具箱能用于多種學(xué)科。而學(xué)科性工具箱是專(zhuān)業(yè)性比較強(qiáng)的,如control、toolbox、sig nal process ing toolbox、com muni cati on toolbox 等。這些 工具箱都是由該領(lǐng)域內(nèi)的學(xué)術(shù)水平很高的專(zhuān)家編寫(xiě)

7、的,所以用戶無(wú)需編寫(xiě)自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而直接進(jìn)行高、精、尖的研究。下表列出了MATLAB勺核心部分及其工具箱等產(chǎn)品系列的主要應(yīng)用領(lǐng)域。(9) 源程序的開(kāi)放性。開(kāi)放性也許是 MATLA最受人們歡迎的特點(diǎn)。除內(nèi)部函 數(shù)以外,所有MATLA的核心文件和工具箱文件都是可讀可改的源文件,用戶可 通過(guò)對(duì)源文件的修改以及加入自己的文件構(gòu)成新的工具箱。1.1.2優(yōu)勢(shì)(1) 友好的工作平臺(tái)和編程環(huán)境MATLA由一系列工具組成。這些工具方便用戶使用MATLAB勺函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括 MATLA桌面和命令窗口、歷史命令 窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間

8、、文件的瀏覽 器。隨著MATLA的商業(yè)化以及軟件本身的不斷升級(jí),MATLA的用戶界面也越來(lái)越精致,更加接近 Windows的標(biāo)準(zhǔn)界面,人機(jī)交互性更強(qiáng),操作更簡(jiǎn)單。而且新 版本的MATLA提供了完整的聯(lián)機(jī)查詢、幫助系統(tǒng),極大的方便了用戶的使用。 簡(jiǎn)單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過(guò)編譯就可以直接運(yùn) 行,而且能夠及時(shí)地報(bào)告出現(xiàn)的錯(cuò)誤及進(jìn)行出錯(cuò)原因分析。(2) 簡(jiǎn)單易用的程序語(yǔ)言Matlab 一個(gè)高級(jí)的矩陣/陣列語(yǔ)言,它包含控制語(yǔ)句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸 入和輸出和面向?qū)ο缶幊烫攸c(diǎn)。用戶可以在命令窗口中將輸入語(yǔ)句與執(zhí)行命令同 步,也可以先編寫(xiě)好一個(gè)較大的復(fù)雜的應(yīng)用程序(M文件)后再一起

9、運(yùn)行。新版 本的MATLA語(yǔ)言是基于最為流行的C+語(yǔ)言基礎(chǔ)上的,因此語(yǔ)法特征與C+ + 語(yǔ)言極為相似,而且更加簡(jiǎn)單,更加符合科技人員對(duì)數(shù)學(xué)表達(dá)式的書(shū)寫(xiě)格式。使之更利于非計(jì)算機(jī)專(zhuān)業(yè)的科技人員使用。而且這種語(yǔ)言可移植性好、可拓展性極 強(qiáng),這也是MATLABE夠深入到科學(xué)研究及工程計(jì)算各個(gè)領(lǐng)域的重要原因。(3) 強(qiáng)大的科學(xué)計(jì)算機(jī)數(shù)據(jù)處理能力MATLA是個(gè)包含大量計(jì)算算法的集合。其擁有600多個(gè)工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便的實(shí)現(xiàn)用戶所需的各種計(jì)算功能。函數(shù)中所使用的算法 都是科研和工程計(jì)算中的最新研究成果,而前經(jīng)過(guò)了各種優(yōu)化和容錯(cuò)處理。在通 常情況下,可以用它來(lái)代替底層編程語(yǔ)言,如 C和C+。

10、在計(jì)算要求相同的情 況下,使用MATLA的編程工作量會(huì)大大減少。MATLAB勺這些函數(shù)集包括從最簡(jiǎn) 單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉變換的復(fù)雜函數(shù)。函數(shù)所能 解決的問(wèn)題其大致包括矩陣運(yùn)算和線性方程組的求解、微分方程及偏微分方程的 組的求解、符號(hào)運(yùn)算、傅立葉變換和數(shù)據(jù)的統(tǒng)計(jì)分析、工程中的優(yōu)化問(wèn)題、稀疏 矩陣運(yùn)算、復(fù)數(shù)的各種運(yùn)算、三角函數(shù)和其他初等數(shù)學(xué)運(yùn)算、多維數(shù)組操作以及 建模動(dòng)態(tài)仿真等。(4)出色的圖形處理功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖 形表現(xiàn)出來(lái),并且可以對(duì)圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的 可視化、圖象處理、動(dòng)畫(huà)和表達(dá)

11、式作圖??捎糜诳茖W(xué)計(jì)算和工程繪圖。新版本的 MATLAB對(duì)整個(gè)圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視 化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善, 而且對(duì)于一些其他軟件所沒(méi)有的功能 (例如圖形的光照處理、色度處理以及四維 數(shù)據(jù)的表現(xiàn)等),MATLABW樣表現(xiàn)了出色的處理能力。同時(shí)對(duì)一些特殊的可視 化要求,例如圖形對(duì)話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次 的要求。另外新版本的MATLA還著重在圖形用戶界面(GUI)的制作上作了很大 的改善,對(duì)這方面有特殊要求的用戶也可以得到滿足。(5)應(yīng)用廣泛的模塊集合工具箱1.1.3、MATLA的

12、功能詳解(1) 、MATLA有著強(qiáng)大的功能,可以用來(lái)進(jìn)行多種工作,具體如下:數(shù)值分 析、數(shù)值和符號(hào)計(jì)算、工程與科學(xué)繪圖、控制系統(tǒng)的設(shè)計(jì)與仿真、數(shù)字圖像處理 技術(shù)、數(shù)字信號(hào)處理技術(shù)、通訊系統(tǒng)設(shè)計(jì)與仿真、財(cái)務(wù)與金融工程等。由于MATLAB 功能太多,不可能一一介紹,并且每一個(gè)功能涉及內(nèi)容又很多,(2) 、介紹起來(lái)比較繁瑣,因此我們只以圖形處理功能為例,通過(guò)對(duì)MATLAB圖形處理的介紹來(lái)展示它的強(qiáng)大功能,并以點(diǎn)代面,進(jìn)而進(jìn)一步體現(xiàn)MATLAB勺發(fā)展現(xiàn)狀。(3)、MATLA提供了大量用于將矢量數(shù)據(jù)以曲線圖形方式進(jìn)行顯示的函數(shù),包括用于實(shí)現(xiàn)圖標(biāo)繪制、科學(xué)曲線繪制和各種專(zhuān)業(yè)數(shù)據(jù)可視化顯示的二維圖形繪制 函

13、數(shù);用于表示向量場(chǎng)的數(shù)據(jù)及二元函數(shù)的圖形表達(dá)的三維圖形繪制函數(shù);提供了用于圖形效果高級(jí)處理的相關(guān)函數(shù)以及圖形句柄操作函數(shù);柱狀圖、餅圖和直方圖等特殊圖形繪制函數(shù);動(dòng)畫(huà)制作等豐富的 3D可視化功能。1.2、課程實(shí)驗(yàn)設(shè)計(jì)思想我們基于MATLAB R2014A 1)展示一些基本的數(shù)值計(jì)算;2)通過(guò)軟件 展示幾例基本的函數(shù);3)應(yīng)用簡(jiǎn)單的程序展示信號(hào)系統(tǒng)中一些基本性質(zhì),并應(yīng) 用圖形可視化。1.2.1、GUI圖形設(shè)計(jì)簡(jiǎn)介歹GUIDE快速入門(mén)*. I 口 回黔建GUI打開(kāi)現(xiàn)有碩GUIDE templatesBlank GUI (Defauh)# GUI with Uicontrols# GUI with

14、Axes and MenuBLANK Modal Question Dialog13將新圏形另存為:| D:ffl戶目禺DoojmmtsW冉TLABVjrrtitled2fig確逗 取消 |耦助1.2.2、建立GUI對(duì)象首先打開(kāi)一個(gè)空白的GUI面板,并在其布局編輯器中添加控件1.2.3、修改控件屬性*成績(jī)管理系統(tǒng)語(yǔ)丈桃,SUM fitliu UKII 躺OilJ若刁A語(yǔ)文 孵 英語(yǔ) 歸 嵌1.2.4、MATLAB excel 的調(diào)用在某些情況下,題設(shè)中給出了一系列數(shù)據(jù),如學(xué)生成績(jī)單實(shí)現(xiàn)成績(jī)情況顯示 圖,我們知道,excel的繪圖功能特別強(qiáng)大,尤其是面對(duì)此類(lèi)問(wèn)題,excel可以根據(jù)簡(jiǎn)單的的公式實(shí)

15、現(xiàn)強(qiáng)大的數(shù)據(jù)運(yùn)算,所以學(xué)會(huì)MATLAB口 excel結(jié)合,會(huì)給我們帶來(lái)很大的幫助。這就需要應(yīng)用MATLA與excel的數(shù)據(jù)交互調(diào)用功能,即xlsread調(diào)用函數(shù),fun cti onsure_Callback(hObject, eve ntdata, ha ndles)%導(dǎo)入數(shù)據(jù)確定按鈕FileName,PathName=uigetfile(*.xls, Choose a file);str=PathName,FileName;set(ha ndles.daoru,stri ng,str);%顯示入可編輯數(shù)據(jù)導(dǎo)入文本框data,text_data=xlsread(str);%賣(mài)取str并生成新

16、的數(shù)組sl=d (han s3=d (han s4=d (han s5=d (han s2=t201207甘層仔r657687onnorio 4111隆多7886.87數(shù)據(jù)導(dǎo)入窗口查詢窗口確定輸入學(xué)Chcow a fileXD卜光電2 012070400巧李祥勝好 醪壬0122040035李 P0 5tudent_grade.xh禪改日賜美型2015/12/20 3:0?Microsoft Excel .125、回調(diào)函數(shù)程序本框%信息查詢顯示口function se.GhzJallback(hObje.ctj .eyant.dat.aj handles) %可編輯總分輸出交ackgroundC

17、olorJ)E function(h0bjectif ispc & isequal (get (hOb jectj BackgrouiidColor ) j get (05 J def aultUicont rolB set (hOb jectj Backgr01111(16010、 whit eJ );L endfunction(fcQtdhandles)%可編輯英語(yǔ)輸出文本框ackgroundColorJ)E function gSjSllg*XaXfiEn(h0bjecttiaudl&5)if ispc & isequal (get (hOb jectj BackgrouiidColor

18、 ) j get (05 J def aultUicont rolB set (hOb ject Backgr01111(16010、 whit eJ );L end126、編寫(xiě)程序fun cti on sure_Callback(hObject, eve ntdata, han dles)FileName,PathName=uigetfile(*.xls,Choose a file%導(dǎo)入數(shù)據(jù)確定按鈕);str=PathName,FileName;set(ha ndles.daoru.stri ng,str);%顯示入可編輯數(shù)據(jù)導(dǎo)入文本框data,text_data=xlsread(str);

19、 mess1=data(:,1);set(ha ndles.showl.stri ng,mess1)%賣(mài)取str并生成新的數(shù)組%訪問(wèn)excel表格第一列%把字符串顯示在顯示學(xué)號(hào)列表mess3=data(:,3);set(ha ndles.showc, mess4=data(:,4);stri ng,mess3)set(ha ndles.showm, mess5=data(:,5);stri ng,mess4)set(ha ndles.showe, mess2=text_data(2:e nd,2);stri ng,mess5)set(ha ndles.show n,han dles.mess2

20、=mess2han dles.data=data;han dles.text=text_data; guidata(hObject, han dles);stri ng,mess2)%訪問(wèn)excel表格第三列%把字符串顯示在顯示語(yǔ)文列表%訪問(wèn)excel列表第四列%把字符串顯示在顯示數(shù)學(xué)列表%訪問(wèn)excel列表第五列%把字符串顯示在顯示英語(yǔ)列表%訪問(wèn)excel列表第二列%把字符串顯示在顯示名字列表%保存數(shù)據(jù)134135 -function seoT,Callback(h0b j彳 eventdat a. handles) st r-g.*t (handles. IDj st r ing):更攥索

21、確定按鈕更學(xué)號(hào)李符率信息輸入查找136 一if lengrthtstrr=0舅空宇苻串137 -st r_t emp-st r Zdouble(st r);時(shí)輯串鮭拯芮教值13B 一ll.=handles.datsf:;, 1);139 -140 -13=1.2+201200:141 一if (201200rt r_temp)4t (st r_tempJ)頁(yè)菩宇輸入框?yàn)榭?43 一mdes=f ind ;全元素與學(xué)母數(shù)倡相等的埶144 -,il=ind2sub tsize(handles+ dat a) index);sde單序呂輅播咸全下克編號(hào)145 -str lhandles. dataf

22、ij :):勝主甌Him可1行的數(shù)組=146 strll=;馬生惑新的空毅組strll147 -for is) s size (handles., dat 2)Sfotig句,初皓值為,步長(zhǎng)苛1148 end149口5.tXl.l-strcat (stri hnwn2str(stri (i);%桶向連播李符串150 一set (handles searchc st ring ynuniiStrtstrl (3):男把手苻串基示在JE示詛交列杲151 -set (handles strinJ nujn2?tr (stri (4):討巴宇特串顯示在顯示敎學(xué)列丟152 -set (handles呂色

23、君ec卜虐 string jnumzstr (stri. (5).時(shí)巴字苻串顯示在顯示英語(yǔ)列參153 一set (handles wearchzj st ringJ f nujn2st r (st r 1 (6);喑把字苻串顯示在顯示總分列丟154 -i-llaiidles dat a(:j, 6):I耳疇-i11 mi A f u齊 Tt Is n、I 通過(guò)舉例說(shuō)明學(xué)生成績(jī)管理系統(tǒng)的可以按學(xué)號(hào)或者姓名查詢學(xué)生成績(jī)及情況 如按學(xué)號(hào)查詢(在學(xué)號(hào)范圍內(nèi)可以顯示成績(jī),否則顯示Noth in g).按姓名查詢(存在姓名可以顯示成績(jī),否則顯示Noth in g),1.3、學(xué)習(xí)MATLAB的心得體會(huì)恰如開(kāi)頭說(shuō)的那樣:MATLAB憑借其科學(xué)計(jì)算與圖形可視化功能完美結(jié)合 以及開(kāi)放的設(shè)計(jì)理念,在全國(guó)受到了普遍歡

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論