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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

13、數(shù);用于表示向量場的數(shù)據(jù)及二元函數(shù)的圖形表達的三維圖形繪制函數(shù);提供了用于圖形效果高級處理的相關(guān)函數(shù)以及圖形句柄操作函數(shù);柱狀圖、餅圖和直方圖等特殊圖形繪制函數(shù);動畫制作等豐富的 3D可視化功能。1.2、課程實驗設(shè)計思想我們基于MATLAB R2014A 1)展示一些基本的數(shù)值計算;2)通過軟件 展示幾例基本的函數(shù);3)應(yīng)用簡單的程序展示信號系統(tǒng)中一些基本性質(zhì),并應(yīng) 用圖形可視化。1.2.1、GUI圖形設(shè)計簡介歹GUIDE快速入門*. I 口 回黔建GUI打開現(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對象首先打開一個空白的GUI面板,并在其布局編輯器中添加控件1.2.3、修改控件屬性*成績管理系統(tǒng)語丈桃,SUM fitliu UKII 躺OilJ若刁A語文 孵 英語 歸 嵌1.2.4、MATLAB excel 的調(diào)用在某些情況下,題設(shè)中給出了一系列數(shù)據(jù),如學生成績單實現(xiàn)成績情況顯示 圖,我們知道,excel的繪圖功能特別強大,尤其是面對此類問題,excel可以根據(jù)簡單的的公式實

15、現(xiàn)強大的數(shù)據(jù)運算,所以學會MATLAB口 excel結(jié)合,會給我們帶來很大的幫助。這就需要應(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);%賣取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)入窗口查詢窗口確定輸入學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)%可編輯英語輸出文本框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、編寫程序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)%賣取str并生成新的數(shù)組%訪問excel表格第一列%把字符串顯示在顯示學號列表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)%訪問excel表格第三列%把字符串顯示在顯示語文列表%訪問excel列表第四列%把字符串顯示在顯示數(shù)學列表%訪問excel列表第五列%把字符串顯示在顯示英語列表%訪問excel列表第二列%把字符串顯示在顯示名字列表%保存數(shù)據(jù)134135 -function seoT,Callback(h0b j彳 eventdat a. handles) st r-g.*t (handles. IDj st r ing):更攥索

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

22、ij :):勝主甌Him可1行的數(shù)組=146 strll=;馬生惑新的空毅組strll147 -for is) s size (handles., dat 2)Sfotig句,初皓值為,步長苛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):討巴宇特串顯示在顯示敎學列丟152 -set (handles呂色

23、君ec卜虐 string jnumzstr (stri. (5).時巴字苻串顯示在顯示英語列參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 通過舉例說明學生成績管理系統(tǒng)的可以按學號或者姓名查詢學生成績及情況 如按學號查詢(在學號范圍內(nèi)可以顯示成績,否則顯示Noth in g).按姓名查詢(存在姓名可以顯示成績,否則顯示Noth in g),1.3、學習MATLAB的心得體會恰如開頭說的那樣:MATLAB憑借其科學計算與圖形可視化功能完美結(jié)合 以及開放的設(shè)計理念,在全國受到了普遍歡

溫馨提示

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

評論

0/150

提交評論