第2講 MATLAB入門_第1頁
第2講 MATLAB入門_第2頁
第2講 MATLAB入門_第3頁
第2講 MATLAB入門_第4頁
第2講 MATLAB入門_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn)數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn) MATLAB入門入門 n MATLAB作為線性系統(tǒng)的一種分析和仿真 工具,是理工科大學(xué)生應(yīng)該掌握的技術(shù)工具,它 作為一種編程語言和可視化工具,可解決工程工程、 科學(xué)計(jì)算科學(xué)計(jì)算和數(shù)學(xué)學(xué)科數(shù)學(xué)學(xué)科中許多問題. n MATLAB建立在向量向量、數(shù)組數(shù)組和矩陣矩陣的基 礎(chǔ)上,使用方便,人機(jī)界面直觀,輸出結(jié)果可 視化. n 矩陣矩陣是MATLAB的核心. n MATLAB的進(jìn)入與運(yùn)行方式(兩種). 一、一、MATLAB的桌面環(huán)境的桌面環(huán)境 1、Command Windows和和MATLAB指令指令 2、 Command History 和歷史記錄和歷史記錄 3、

2、Current Directory和搜索路徑和搜索路徑 4、圖形窗、圖形窗 5、文本編輯窗、文本編輯窗 6、 使使 用用 幫幫 助助 當(dāng)MATLAB安裝完畢并首次運(yùn)行時(shí),展示在用戶面前的界 面為MATLAB運(yùn)行時(shí)缺省界面窗體,如下圖所示。 l歷史命令窗體歷史命令窗體(Command History) l命令行窗體命令行窗體(Command Window) l當(dāng)前目錄瀏覽器當(dāng)前目錄瀏覽器(Current Directory Browser) l工作空間瀏覽器工作空間瀏覽器(Workspace Browser) l數(shù)組編輯器數(shù)組編輯器(Array Editor) lM文件編輯器文件編輯器/調(diào)試器調(diào)

3、試器(Editor/Debugger) l超文本幫助瀏覽器超文本幫助瀏覽器(Help Navigator/Browser) 1、Command Windows和和MATLAB指令指令 n命令行窗口命令行窗口 例子例子1 計(jì)算算術(shù)表達(dá)式計(jì)算算術(shù)表達(dá)式 2 )32. 58 . 4( 5 。 只要直接在MATLAB的命令行窗口中鍵入: -5/(4.8+5.32)2 系統(tǒng)將直接計(jì)算表達(dá)式的結(jié)果,并且給出答案: ans = -0.0488 注意: 這里的符號(hào)“”為MATLAB的命令行提示符。 這里的符號(hào)“ ”表示鍵入表達(dá)式之后按回車鍵。 MATLAB的數(shù)學(xué)運(yùn)算符同其他的計(jì)算機(jī)高級(jí)語言(例如 C語言)類似

4、。 這里計(jì)算得到的結(jié)果顯示為ans,ans是英文單詞 “answer”的縮寫,它是MATLAB默認(rèn)的系統(tǒng)變量。 所有MATLAB的計(jì)算結(jié)果和數(shù)值都默認(rèn)使用雙精度雙精度類 型顯示。 例子2 計(jì)算復(fù)數(shù)的運(yùn)算(1+2i)(1-3i)。 在MATLAB命令行窗口中鍵入: (1+2i)*(1-3i) 系統(tǒng)直接計(jì)算表達(dá)式的結(jié)果,并給出答案: ans = 7.0000-1.0000i uMATLAB的命令行窗口具有命令行記憶的功能,也就是說, 在命令行窗口中,使用上、下光標(biāo)鍵上、下光標(biāo)鍵就可以重復(fù)以前鍵入的指 令了,這對(duì)使用MATLAB是非常便利的功能。 u MATLAB命令行窗體還可以輔助用戶完成指令的輸

5、入輔助用戶完成指令的輸入, 例如在MATLAB命令行窗體中鍵入字符pas,然后單擊Tab 鍵,此時(shí)將彈出一個(gè)小窗體,提示當(dāng)前MATLAB環(huán)境下, 以pas為開頭的所有MATLAB指令,如下圖所示。 表表1 常用的常用的MATLAB控制指令控制指令 nMATLAB指令指令 例子例子3 常用的控制指令示例。 查看當(dāng)前的路徑:查看當(dāng)前的路徑: pwd ans = D:ClassML01 顯示當(dāng)前路徑下的文件和子目錄:顯示當(dāng)前路徑下的文件和子目錄: dir . . FigureMenuBar.fig How am I suppose to live without you.mp3 Java Said

6、I loved you ,but I lied.mp3 eagles_hotelcanifornia.mp3 gui_soln.fig gui_soln.m mymesh.m test.m 顯示當(dāng)前路徑下的顯示當(dāng)前路徑下的MATLAB文件:文件: what M-files in the current directory D:Temp gui_soln mymesh test what指令的路徑:指令的路徑: which what built-in (C:Program FilesMATLABR2006btoolboxmatlabgeneralwhat) 查看查看M文件的路徑:文件的路徑: w

7、hich logo C:Program FilesMATLABR2006btoolboxmatlabdemoslogo.m 執(zhí)行系統(tǒng)指令: system(copy eagles_hotelcanifornia.mp3 eagles.mp3) 已復(fù)制 1 個(gè)文件。 ans = 0 依次執(zhí)行例子3的指令可以得到相應(yīng)的指令輸出,注意 what指令和dir指令的區(qū)別。另外,在執(zhí)行系統(tǒng)指令的時(shí)候還可 以使用MATLAB的“!”符號(hào),例如在執(zhí)行例子1-5最后的拷貝 命令時(shí),也可以這樣做: !copy eagles_hotelcanifornia.mp3 eagles.mp3 兩者的區(qū)別在于通過system

8、指令執(zhí)行系統(tǒng)命令能夠獲取系 統(tǒng)指令的返回值,例如指令執(zhí)行的狀態(tài)等。system指令的一般 使用方法為 system(command); 其中,command就是系統(tǒng)指令,用單引號(hào)“”括起來作為 參數(shù)傳遞給system指令。 在使用which指令的時(shí)候得到的輸出根據(jù)which指令后面的 參數(shù)不同而不同,例如在執(zhí)行which what時(shí),系統(tǒng)判斷what為 內(nèi)建(build-in)的函數(shù),而在執(zhí)行which logo指令時(shí),系統(tǒng)判斷 logo為M文件,并且給出了M文件所在的路徑。有關(guān)內(nèi)建函數(shù) 或者M(jìn)文件函數(shù)的概念將在本書的第四章中詳細(xì)講述。 u如果希望在同一行鍵入多條MATLAB指令,則在指令 與

9、指令之間使用逗號(hào)“,”、分號(hào)“;”作為間隔即可,例如: format long; pi ans = 3.141592653589793 這里在同一行設(shè)置了命令行窗體顯示方式(在下一小節(jié)詳 細(xì)介紹),同時(shí)調(diào)用了內(nèi)建函數(shù)pi,得到相應(yīng)的結(jié)果。 注意:注意:命令窗口中,顯示逗號(hào)“,”結(jié)尾的指令運(yùn)行結(jié)果;但 不顯示分號(hào)“;”結(jié)尾的指令運(yùn)行結(jié)果。兩者的運(yùn)行結(jié)果均能 在工作空間查詢。 u如果命令行較長,無法在同一行內(nèi)鍵入或者需要將 同一命令行分行鍵入,則需要在分行處使用符號(hào)“”來 實(shí)現(xiàn),例如: get(0,. Diary) ans = off 當(dāng)在命令行窗體中鍵入“get(0,.”之后按下回車鍵 就可以進(jìn)

10、入下一行,然后再繼續(xù)鍵入Diary)并按下回車 鍵來完成指令的輸入并且執(zhí)行指令得到相應(yīng)的結(jié)果。 2、 Command History 和歷史記錄和歷史記錄 n命令行歷史窗口命令行歷史窗口 在命令行歷史窗口中主要記錄了在MATLAB命令行窗口中 鍵入的所有指令,一般包括每次啟動(dòng)MATLAB的時(shí)間,以及每 次啟動(dòng)MATLAB之后鍵入的所有MATLAB指令。這些指令不 但可以清楚地記錄在命令行歷史窗口中,而且還可以被再次執(zhí) 行,它們不僅能夠被復(fù)制到MATLAB的命令行窗口中,而且還 可以通過這些指令的記錄直接創(chuàng)建M文件,這些功能都可以通 過命令行歷史窗口的快捷菜單來方便地完成,如下圖所示。 u 快捷

11、菜單中的指令說明如下: * Copy:拷貝當(dāng)前選中的指令,可以將指令粘貼到其他的 應(yīng)用程序窗口中。 * Evaluate Selection:執(zhí)行當(dāng)前選中的指令。 * Create M-File:把當(dāng)前選中的指令創(chuàng)建一個(gè)新的M文件, 文件的內(nèi)容就是選中的所有指令。 * Delete Selection:從命令行歷史窗口中刪除當(dāng)前選中的指 令。 * Delete to Selection:將當(dāng)前選中指令之前的所有歷史記錄 指令從命令行歷史窗口中刪除。 * Delete Entire History:刪除命令行歷史窗口中所有的指令。 ndiary指令指令 diary指令也是常用的MATLAB命令行

12、指令之一,該指令 的功能是創(chuàng)建一個(gè)日志文件,在這個(gè)文件中,能夠把所有在 MATLAB命令行鍵入的指令以及在命令行窗口的輸入保存下來。 這個(gè)日志文件為純文本格式,可以利用任何一種文本編輯器編 輯這個(gè)文件。 udiary指令的常用方法如下:指令的常用方法如下: * diary:在歷史日志記錄指令在歷史日志記錄指令On和和Off狀態(tài)之間切換。狀態(tài)之間切換。 * diary on:打開歷史日志記錄功能。打開歷史日志記錄功能。 * diary off:關(guān)閉歷史日志記錄功能。關(guān)閉歷史日志記錄功能。 * diary(filename):創(chuàng)建日志文件,文件名為創(chuàng)建日志文件,文件名為filename。 在使用d

13、iary指令時(shí),若不指定文件名,則MATLAB自動(dòng) 創(chuàng)建一個(gè)默認(rèn)文件名diary(注意,該文件沒有擴(kuò)展名,為純文 本文件)的日志文件,并且進(jìn)入到歷史日志記錄狀態(tài)。在日志 文件中將記錄所有在命令行窗口中鍵入的指令以及這些指令 運(yùn)行的結(jié)果。注意,diary記錄指令的功能也僅在執(zhí)行diary指 令之后的MATLAB會(huì)話中有效,一旦關(guān)閉了MATLAB再次啟 動(dòng)時(shí),則diary指令需要重新鍵入。 3、 Current Directory和搜索路徑和搜索路徑 n當(dāng)前路徑查看器當(dāng)前路徑查看器 MATLAB加載任何文件或執(zhí)行任何指令都是從當(dāng)前的工加載任何文件或執(zhí)行任何指令都是從當(dāng)前的工 作路徑下開始的,所以作

14、路徑下開始的,所以MATLAB也提供了當(dāng)前路徑的瀏覽器也提供了當(dāng)前路徑的瀏覽器 Current Directory,該工具的界面在默認(rèn)情況下位于 MATLAB界面的左上方,在工作空間瀏覽器的下面,可以單擊 Current Directory標(biāo)簽切換界面。和其他的桌面工具類似,當(dāng)前 路徑查看器也可以浮動(dòng)在所有窗體上方,也可以像默認(rèn)的狀態(tài) 那樣內(nèi)嵌在桌面工具中,浮動(dòng)的窗體如下圖所示。 當(dāng)前路徑查看器主要的作用是幫助用戶組織管理當(dāng)前路徑下當(dāng)前路徑查看器主要的作用是幫助用戶組織管理當(dāng)前路徑下 的所有文件,特別是的所有文件,特別是MATLAB文件。文件。通過該工具能夠運(yùn)行、編 輯相應(yīng)的MATLAB文件,

15、加載MAT數(shù)據(jù)文件等,這些操作都可 以通過相應(yīng)的右鍵快捷菜單完成。 n工作路徑工作路徑 MATLAB的工作路徑就是當(dāng)前的路徑,的工作路徑就是當(dāng)前的路徑,MATLAB啟動(dòng)時(shí)啟動(dòng)時(shí) 采用默認(rèn)的路徑作為當(dāng)前工作路徑,這樣所有的采用默認(rèn)的路徑作為當(dāng)前工作路徑,這樣所有的MATLAB文文 件保存和讀取都將從該路徑下開始。件保存和讀取都將從該路徑下開始。在Windows平臺(tái)下, MATLAB提供了一個(gè)路徑:C:matlab6work,在MATLAB首次 啟動(dòng)時(shí),就會(huì)使用該路徑作為當(dāng)前的工作路徑。 啟動(dòng)時(shí)選擇的工作路徑是可以修改的。在桌面上選擇 MATLAB應(yīng)用程序的快捷圖標(biāo),然后單擊鼠標(biāo)右鍵,在彈出的 快

16、捷菜單中選擇“屬性”命令,在彈出的對(duì)話框中有一個(gè)“起 始位置”文本輸入框,可以將需要設(shè)置的啟動(dòng)工作路徑設(shè)置在 這里。 設(shè)置工作起始位置 修改MATLAB 的起始位置 n搜索路徑搜索路徑 如前文所述,MATLAB的文件是通過不同的路徑來進(jìn)行組 織管理的,為了避免執(zhí)行不同路徑下的MATLAB文件而不斷切 換不同的路徑,MATLAB提供了搜索路徑機(jī)制來完成對(duì)文件的 組織和管理。 所有的MATLAB文件都被保存在不同的路徑中,那么將這 些路徑按照一定的次序組織起來,就構(gòu)成了搜索路徑。當(dāng)執(zhí)行 某個(gè)MATLAB指令時(shí),系統(tǒng)將按照以下的順序搜索該指令: (1) 判斷該指令是否為變量。判斷該指令是否為變量。

17、(2) 判斷該指令是否為內(nèi)建的函數(shù)。判斷該指令是否為內(nèi)建的函數(shù)。 (3) 在當(dāng)前的路徑下搜索是否存在該指令文件。在當(dāng)前的路徑下搜索是否存在該指令文件。 (4) 從搜索路徑中依次搜索該文件直到找到第一個(gè)符合要從搜索路徑中依次搜索該文件直到找到第一個(gè)符合要 求的函數(shù)文件為止。求的函數(shù)文件為止。 (5) 若上述的搜索都沒有找到該指令,則報(bào)告錯(cuò)誤信息。若上述的搜索都沒有找到該指令,則報(bào)告錯(cuò)誤信息。 設(shè)置搜索路徑可以通過MATLAB指令,也可以通過對(duì)話框界面 完成。執(zhí)行執(zhí)行“File”菜單下的菜單下的“Set Path”指令,在彈出的對(duì)話指令,在彈出的對(duì)話 框中可以設(shè)置相應(yīng)的搜索路徑??蛑锌梢栽O(shè)置相應(yīng)的

18、搜索路徑。 通常,只要執(zhí)行了任一種繪圖命令,就會(huì)自 動(dòng)產(chǎn)生圖形窗, 以后的繪圖都在這一個(gè)圖形窗中 進(jìn)行。如想再建一個(gè)或幾個(gè)圖形窗,則可鍵入 figure,MATLAB會(huì)新建一個(gè)圖形窗,并自動(dòng)給它 依次排序。如果要人為規(guī)定新圖為圖3,則可鍵入 figure(3)。如要調(diào)看已經(jīng)存在的圖形窗n ,也應(yīng)鍵 入figure(n)。 在命令窗中,鍵入figure,得出空白的圖形窗。 如鍵入logo,即可生成MATLAB的標(biāo)志圖形,如 下圖所示。圖形窗上的一排按鈕,可以用來對(duì)圖 形進(jìn)行修改或注釋。 4、圖形窗、圖形窗 MATLAB 6.x的命令窗、圖形窗和標(biāo)志圖形 MATLAB程序編制有兩種方式。一種稱為行

19、 命令方式,這就是在命令窗中一行一行地輸入程 序,計(jì)算機(jī)每次對(duì)一行命令作出反應(yīng),像計(jì)算器 那樣。這只能編簡單的程序,在入門時(shí)可以用這 種方式。程序稍復(fù)雜一些,就應(yīng)把程序?qū)懗梢粋€(gè) 由多行語句組成的文件,讓MATLAB來執(zhí)行這個(gè) 文件。編寫和修改這種文件程序就要用到文本編 輯器。 命令窗上方最左邊的按鈕是用來打開文本編 輯器空白頁的, 左邊第二個(gè)按鈕是用來打開原有 程序文件的。打開后的文本編輯窗見下圖。 5、文本編輯窗、文本編輯窗 MATLAB 6.x的命令窗和文本編輯窗 n編輯功能 Edit菜單中有許多通用的菜單選項(xiàng),與其 他軟件使用相似。有一組特別的操作,用 于程序行的查找: lGo to l

20、ine 找到指定行號(hào)處 lSet/Clear Bookmark 設(shè)置或清除書簽 lNext Bookmark 找到下一個(gè)書簽處 lPrev Bookmark 找到前一個(gè)書簽處 n調(diào)試功能 Debug菜單和Breakpoints菜單是用來調(diào)試 程序,兩者需要聯(lián)合使用。 lStep 單步運(yùn)行 lStep in 單步運(yùn)行,遇到函數(shù)時(shí)進(jìn)入函數(shù) lStep out 跳出函數(shù)或運(yùn)行到下一個(gè)斷點(diǎn) lSave and Run 存儲(chǔ)文件并開始運(yùn)行 lGo Until Cursor 運(yùn)行到光標(biāo)所在的位置 lExit Debug Mode 退出調(diào)試模式 Breakpoints菜單: lSet/Clear Break

21、point 設(shè)置或清除斷點(diǎn) lClear All Breakpoint 清除所有斷點(diǎn) lStop If Error 出錯(cuò)時(shí)停止程序運(yùn)行 lStop If Warning 出現(xiàn)警告時(shí)停止程序運(yùn)行 lStop If NaN or Inf 出現(xiàn)非數(shù)或無窮大時(shí)停止 程序運(yùn)行 lStop If All Error 與Stop If Error 相同,但包 括trycatch語句中的錯(cuò)誤 6、 使使 用用 幫幫 助助 l在線幫助在線幫助help 在MATLAB命令行窗體中,執(zhí)行help指令: help 則此時(shí)在MATLAB命令行窗體中將顯示所有幫助主題 可以看到,所有MATLAB幫助主題都是藍(lán)色字體具有下

22、 劃線,表明這些主題都是具有超鏈接,單擊相應(yīng)的超鏈接, 則可以在MATLAB幫助窗體中,打開相應(yīng)的幫助信息文檔。 如果需要獲取幫助主題下的函數(shù)列表,則可以鍵入指令, 例如help elfun,則在MATLAB命令行窗體中顯示該幫助 主題下所有函數(shù)列表。 如果需要獲取具體函數(shù)的幫助,例如sin函數(shù)的在線幫助信 息,則可以鍵入如下的指令: help sin SIN Sine of argument in radians. SIN(X) is the sine of the elements of X. See also asin, sind. Reference page in Help brow

23、ser doc sin lH1幫助lookfor 每一個(gè)M語言函數(shù)文件的第一行叫做H1幫助行,它能 夠被lookfor函數(shù)搜索查詢,因此在這一行幫助中,往往是 言簡意賅的說明性語言,在所有的幫助中相對(duì)最重要。例 如,在MATLAB命令行窗體中鍵入如下指令: lookfor Fourier FFT Discrete Fourier transform. FFT2 Two-dimensional discrete Fourier Transform. FFTN N-dimensional discrete Fourier Transform. IFFT Inverse discrete Fouri

24、er transform. IFFT2 Two-dimensional inverse discrete Fourier transform. IFFTN N-dimensional inverse discrete Fourier transform. l窗體幫助窗體幫助 盡管在線幫助使用起來簡便、快捷,但是在線幫助能夠 提供的信息畢竟有限,而且并不是所有與函數(shù)有關(guān)的內(nèi)容都 可以用在線幫助的形式表示,比如數(shù)學(xué)公式,圖形等。因此, MATLAB還提供了內(nèi)容更加豐富的幫助文檔,作為 MATLAB的用戶指南出現(xiàn)。 MATLAB的幫助文檔顯示在MATLAB的幫助窗體中, 單擊MATLAB用戶界面上的

25、按鈕,將打開MATLAB的幫助 文檔界面。 圖 MATLAB的幫助文檔界面 這里能夠看到的MATLAB幫助文檔是伴隨MATLAB產(chǎn)品一 同發(fā)布的文檔光盤經(jīng)過安裝之后的超文本內(nèi)容。 n Contents :所有產(chǎn)品幫助文檔的目錄,單擊這些目錄以 及目錄下面的文章標(biāo)題,就可以在右邊的窗體中具體瀏覽幫 助信息。 n Index:關(guān)鍵字索引查詢。 n Search Results:關(guān)鍵字全文搜索結(jié)果顯示。 n Demos:MATLAB演示示例。 MATLAB入門入門 一、變一、變 量量 與與 函函 數(shù)數(shù) 二、數(shù)二、數(shù) 組組 三、三、 矩矩 陣陣 四、四、 MATLAB編程編程 五、五、 實(shí)實(shí) 驗(yàn)驗(yàn) 作

26、作 業(yè)業(yè) 1. 變量變量 MATLAB中變量的命名規(guī)則命名規(guī)則是: (1)變量名必須是不含空格的單個(gè)詞; (2)變量名區(qū)分大小寫; (3)變量名最多不超過19個(gè)字符; (4)變量名必須以字母打頭,之后可以是 任意字母、數(shù)字或下劃線,變量名中 不允許使用標(biāo)點(diǎn)符號(hào). 一、變一、變 量量 與與 函函 數(shù)數(shù) 特殊變量表特殊變量表 2. 數(shù)學(xué)運(yùn)算符號(hào)及標(biāo)點(diǎn)符號(hào)數(shù)學(xué)運(yùn)算符號(hào)及標(biāo)點(diǎn)符號(hào) +加法運(yùn)算,適用于兩個(gè)數(shù)或兩個(gè)同階矩陣相加. 減法運(yùn)算 *乘法運(yùn)算 .*點(diǎn)乘運(yùn)算 /除法運(yùn)算 ./點(diǎn)除運(yùn)算 乘冪運(yùn)算 .點(diǎn)乘冪運(yùn)算 反斜杠表示左除. (1)MATLAB的每條命令后,若為逗號(hào)逗號(hào)或或無標(biāo)點(diǎn)無標(biāo)點(diǎn)符號(hào), 則顯示

27、命令的結(jié)果;若命令后為分號(hào)分號(hào),則禁止顯示結(jié)果. (2)“%” 后面所有文字為注釋. (3) “.”表示續(xù)行. 函 數(shù)名 稱函 數(shù)名 稱 sin(x)正弦函數(shù)asin(x)反正弦函數(shù) cos(x)余弦函數(shù)acos(x)反余弦函數(shù) tan(x)正切函數(shù)atan(x)反正切函數(shù) abs(x) 絕對(duì)值max(x) 最大值 min(x) 最小值sum(x)元素的總和 sqrt(x) 開平方exp(x)以 e為底的指數(shù) log(x)自然對(duì)數(shù) )(log10 x 以 10 為底的對(duì)數(shù) sign(x)符號(hào)函數(shù)fix(x)取整 3. 數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù) MATLAB的內(nèi)部函數(shù)是有限的,有時(shí)為了研究某的內(nèi)部函數(shù)是

28、有限的,有時(shí)為了研究某 一個(gè)函數(shù)的各種性態(tài),需要為一個(gè)函數(shù)的各種性態(tài),需要為MATLAB定義新函數(shù),定義新函數(shù), 為此必須編寫函數(shù)文件為此必須編寫函數(shù)文件. 函數(shù)文件是文件名后綴為函數(shù)文件是文件名后綴為M的的 文件,這類文件的文件,這類文件的第一行必須是一特殊字符第一行必須是一特殊字符function開開 始始,格式為:,格式為: function 因變量名因變量名=函數(shù)名(自變量名)函數(shù)名(自變量名) 函數(shù)值的獲得必須通過具體的運(yùn)算實(shí)現(xiàn),并賦給函數(shù)值的獲得必須通過具體的運(yùn)算實(shí)現(xiàn),并賦給 因變量因變量. 4. M文件文件 M文件建立方法:文件建立方法:1. 在在MATLAB中,點(diǎn)中,點(diǎn):Fil

29、eNew M-file 2. 在編輯窗口中輸入程序內(nèi)容在編輯窗口中輸入程序內(nèi)容 3. 點(diǎn)點(diǎn)File Save,存盤,存盤,M文件名必須文件名必須 與函數(shù)名一致與函數(shù)名一致. MATLAB的應(yīng)用程序也以的應(yīng)用程序也以M文件保存文件保存. 例:定義函數(shù)例:定義函數(shù) f(x1,x2)=100(x2-x12)2+(1-x1)2 function f=fun(x) f=100*(x(2)-x(1)2)2+(1-x(1)2 1.建立建立M文件:文件:fun.m MATLAB(fun) 2. 可以直接使用函數(shù)可以直接使用函數(shù)fun.m 例如:計(jì)算例如:計(jì)算 f(1,2), 只需在只需在MATLAB命令窗口鍵

30、入命令:命令窗口鍵入命令: x=1 2 fun(x) 返回返回 x=logspace(first,last,n) 創(chuàng)建從創(chuàng)建從first開始,到開始,到last結(jié)束,有結(jié)束,有n個(gè)元素的對(duì)數(shù)分隔行向量個(gè)元素的對(duì)數(shù)分隔行向量. 1. 創(chuàng)建簡單的數(shù)組創(chuàng)建簡單的數(shù)組 二、數(shù)二、數(shù) 組組 MATLAB(shuzu1) x=a b c d e f創(chuàng)建包含指定元素的行向量創(chuàng)建包含指定元素的行向量. x=first:last 創(chuàng)建從創(chuàng)建從first開始,加開始,加1計(jì)數(shù),到計(jì)數(shù),到last結(jié)束的行向量結(jié)束的行向量. x=first:increment:last 創(chuàng)建從創(chuàng)建從first開始,加開始,加incr

31、ement計(jì)數(shù),到計(jì)數(shù),到last結(jié)束的結(jié)束的 行向量行向量. x=linspace(first,last,n) 創(chuàng)建從創(chuàng)建從first開始,到開始,到last結(jié)束,有結(jié)束,有n個(gè)元素的行向量個(gè)元素的行向量. 2. 數(shù)組元素的訪問數(shù)組元素的訪問 MATLAB(shuzu2) (3)直接使用元素編址序號(hào)直接使用元素編址序號(hào). x(a b c d) 表示 提取數(shù)組x的第a、b、c、d個(gè)元素構(gòu)成一個(gè)新的數(shù)組 x(a) x(b) x(c) x(d). (2)訪問一塊元素訪問一塊元素: x(a :b :c)表示訪問數(shù)組x的第a 個(gè)元素開始,以步長b到第c個(gè)元素(但不超過c),b可以為負(fù) 數(shù),b缺省時(shí)為1

32、. (1)訪問一個(gè)元素訪問一個(gè)元素: x(i)表示訪問數(shù)組x的第i個(gè)元素. 3. 3. 數(shù)組的方向數(shù)組的方向 前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的. 稱之為稱之為行向量行向量. 數(shù)組也可以是數(shù)組也可以是列向量列向量,它的數(shù)組操作和運(yùn),它的數(shù)組操作和運(yùn) 算與行向量是一樣的,唯一的區(qū)別是結(jié)果以列形式顯示算與行向量是一樣的,唯一的區(qū)別是結(jié)果以列形式顯示. 產(chǎn)生列向量有兩種方法:產(chǎn)生列向量有兩種方法: 直接產(chǎn)生直接產(chǎn)生 例例 c=1;2;3;4 轉(zhuǎn)置產(chǎn)生轉(zhuǎn)置產(chǎn)生 例例 b=1 2 3 4; c=b 說明:以說明:以空格空格或或逗號(hào)逗號(hào)分隔的元素指定的

33、是不同列的分隔的元素指定的是不同列的 元素,而以元素,而以分號(hào)分號(hào)分隔的元素指定了不同行的元素分隔的元素指定了不同行的元素. 4. 數(shù)組的運(yùn)算數(shù)組的運(yùn)算 (1)標(biāo)量)標(biāo)量-數(shù)組運(yùn)算數(shù)組運(yùn)算 數(shù)組對(duì)標(biāo)量的加、減、乘、除和平方運(yùn)算,是指數(shù)數(shù)組對(duì)標(biāo)量的加、減、乘、除和平方運(yùn)算,是指數(shù) 組的每個(gè)元素對(duì)該標(biāo)量施加相應(yīng)的加、減、乘、除、平組的每個(gè)元素對(duì)該標(biāo)量施加相應(yīng)的加、減、乘、除、平 方運(yùn)算方運(yùn)算. 設(shè): 設(shè):a=a1,a2,an, c是標(biāo)量是標(biāo)量. 則:則:a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c= a1/c,a2/c,an/c(右除)右除) a.c= c

34、/a1,c/a2,c/an (左除)左除) a.c= a1c,a2c,anc c.a= ca1,ca2,can MATLAB(shuzu3) (2)數(shù)組)數(shù)組-數(shù)組運(yùn)算數(shù)組運(yùn)算 當(dāng)兩個(gè)數(shù)組有相同維數(shù)時(shí),加、減、乘、除、當(dāng)兩個(gè)數(shù)組有相同維數(shù)時(shí),加、減、乘、除、 冪運(yùn)算可按冪運(yùn)算可按元素對(duì)元素元素對(duì)元素方式進(jìn)行,不同大小或維數(shù)方式進(jìn)行,不同大小或維數(shù) 的數(shù)組是不能進(jìn)行運(yùn)算的的數(shù)組是不能進(jìn)行運(yùn)算的. 設(shè):設(shè):a=a1,a2,an, b=b1,b2,bn 則:則:a+b= a1+b1,a2+b2,an+bn a.*b= a1*b1,a2*b2,an*bn a./b= a1/b1,a2/b2,an/bn

35、 a.b=b1/a1,b2/a2,bn/an a.b=a1b1,a2b2,anbn MATLAB(shuzu4) 返回返回 三、三、 矩矩 陣陣 逗號(hào)逗號(hào)或或空格空格用于分隔某一行的元素,用于分隔某一行的元素,分號(hào)分號(hào)用于區(qū)分不用于區(qū)分不 同的行同的行. 除了分號(hào),在輸入矩陣時(shí),按除了分號(hào),在輸入矩陣時(shí),按Enter鍵也表示開始鍵也表示開始 新一行新一行. 輸入矩陣時(shí),嚴(yán)格要求所有行有相同的列輸入矩陣時(shí),嚴(yán)格要求所有行有相同的列. 例例 m=1 2 3 4 ;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 3 1. 矩陣的建立矩陣的建立 特殊矩陣特殊矩陣的

36、建立: MATLAB(matrix1) d=eye(m,n) 產(chǎn)生一個(gè)產(chǎn)生一個(gè)m行行n列的單位矩陣列的單位矩陣 c=ones(m,n) 產(chǎn)生一個(gè)產(chǎn)生一個(gè)m行行n列的元素全為列的元素全為1的矩陣的矩陣 b=zeros(m,n) 產(chǎn)生一個(gè)產(chǎn)生一個(gè)m行行n列的零矩陣列的零矩陣 a= 產(chǎn)生一個(gè)空矩陣,當(dāng)對(duì)一項(xiàng)操作無結(jié)產(chǎn)生一個(gè)空矩陣,當(dāng)對(duì)一項(xiàng)操作無結(jié) 果時(shí),返回空矩陣,空果時(shí),返回空矩陣,空矩陣矩陣的大小為零的大小為零 2. 矩陣中元素的操作矩陣中元素的操作 MATLAB(matrix2) (1)矩陣A的第r行:A(r,:) (2)矩陣A的第r列:A(:,r) (4)取矩陣A的第i1i2行、第j1j2列

37、構(gòu)成新矩陣:A(i1:i2, j1:j2) (5)以逆序提取矩陣A的第i1i2行,構(gòu)成新矩陣:A(i2:-1: i1,:) (6)以逆序提取矩陣A的第j1j2列,構(gòu)成新矩陣:A(:,j2:-1: j1) (7)刪除A的第i1i2行,構(gòu)成新矩陣:A(i1:i2,:)= (8)刪除A的第j1j2列,構(gòu)成新矩陣:A(:,j1:j2)= (9)將矩陣A和B拼接成新矩陣:A B;A;B (3)依次提取矩陣A的每一列,將A拉伸為一個(gè)列向量:A(:) (2)矩陣)矩陣-矩陣運(yùn)算矩陣運(yùn)算 1 元素對(duì)元素元素對(duì)元素的運(yùn)算,同數(shù)組的運(yùn)算,同數(shù)組-數(shù)組運(yùn)算數(shù)組運(yùn)算. 3. 矩陣的運(yùn)算矩陣的運(yùn)算 (1)標(biāo)量)標(biāo)量-矩

38、陣運(yùn)算矩陣運(yùn)算 標(biāo)量標(biāo)量-數(shù)組運(yùn)算相同數(shù)組運(yùn)算相同. MATLAB(matrix3) 2矩陣運(yùn)算:矩陣運(yùn)算: 矩陣加法:矩陣加法:A+B 矩陣乘法:矩陣乘法:A*B 方陣的行列式:方陣的行列式:det(A) 方陣的逆方陣的逆:inv(A) 方陣的特征值與特征向量:方陣的特征值與特征向量:V,D=eigA 返回返回 關(guān)系與邏輯運(yùn)算關(guān)系與邏輯運(yùn)算 1. 關(guān)系操作符關(guān)系操作符 關(guān)關(guān)系系操操作作符符說說明明 小小于于 大大于于 =大大于于或或等等于于 = =等等于于 =不不等等于于 2. 邏輯運(yùn)算符邏輯運(yùn)算符 邏邏輯輯操操作作符符說說明明 與與 或或 非非 1. for循環(huán):循環(huán):允許一組命令以固定的和預(yù)定的次數(shù)重復(fù)允許一組命令以固定的和預(yù)定的次數(shù)重復(fù) for x=array commands end 在在for和和end語句之間的命令串語句之間的命令串commands按數(shù)組按數(shù)組(array) 中的每一列執(zhí)行一次中的每一列執(zhí)行一次. 在每一次迭代中,在每一次迭代中,x被指定為數(shù)組的下一列,被指定為數(shù)組的下一列, 即在第即在第n次循環(huán)中,次循環(huán)中,x=array(:,:,n) 控制流控制流 MATLAB提供三種決策或控制流結(jié)構(gòu):提供三

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論