數(shù)學(xué)實(shí)驗(yàn)第一章2_第1頁
數(shù)學(xué)實(shí)驗(yàn)第一章2_第2頁
數(shù)學(xué)實(shí)驗(yàn)第一章2_第3頁
數(shù)學(xué)實(shí)驗(yàn)第一章2_第4頁
數(shù)學(xué)實(shí)驗(yàn)第一章2_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.1導(dǎo) 言 MATLAB是MATrix LABoratory的縮寫,是由美國(guó)MathWorks公司開發(fā)的工程計(jì)算軟件,迄今MATLAB已推出了10.0版. 當(dāng)今數(shù)學(xué)類科技應(yīng)用軟件可分為兩類, 一類是數(shù)值計(jì)算型,如 MATLAB,Xmath,Causs等這類軟件擅長(zhǎng)數(shù)值計(jì)算,對(duì)處理大批數(shù)據(jù)效率高,適于用數(shù)值的方法處理問題; 另一類是數(shù)學(xué)分析型軟件,如Mathematica,Maple等,這類軟件以符號(hào)計(jì)算見長(zhǎng),能給出解析解和任意精度解,適于用解析的方法處理問題。其缺點(diǎn)是處理大量數(shù)據(jù)時(shí)效率較低.第一章第一章 認(rèn)識(shí)認(rèn)識(shí) MATLAB MATLAB為適合多學(xué)科的功能強(qiáng)大的大型軟件,在歐美等高校,MA

2、TLAB成為線性代數(shù)、數(shù)理統(tǒng)計(jì)、數(shù)值分析、優(yōu)化技術(shù)、自動(dòng)控制、數(shù)字信號(hào)處理、圖像處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真等高級(jí)課程的基本教學(xué)工具,成為大學(xué)生、研究生和博士生必須掌握的基本技能。同時(shí),MATLAB也被研究單位和工業(yè)部門廣泛應(yīng)用,使科學(xué)研究和解決各種具體問題的效率大大提高。MATLAB集成環(huán)境主要包括五個(gè)部分: MATLAB語言(編程方式)MATLAB工作環(huán)境(交互運(yùn)行方式)句柄圖形(圖形的句柄就是指向了這個(gè)圖形的一個(gè)變量,MATLAB允許調(diào)用者通過它設(shè)定該圖形的各種屬性。)MATLAB數(shù)學(xué)函數(shù)庫(kù)MATLAB API(application program interface). 運(yùn)算符和

3、庫(kù)函數(shù)極其豐富,語言簡(jiǎn)潔,編程效率高。 MATLAB 除了提供和C語言一樣的運(yùn)算符外,還提供廣泛的矩陣和向量運(yùn)算符。利用其運(yùn)算符和庫(kù)函數(shù)可使其程序相當(dāng)簡(jiǎn)短,兩三行語句就可實(shí)現(xiàn)幾十行甚至幾百行C或FORTRAN編寫的程序功能。 MATLAB語言具有以下主要特點(diǎn):既具有結(jié)構(gòu)化的控制語句(如 for 循環(huán)、break 語句、if 語句和switch 語句),又有面向?qū)ο蟮木幊烫匦?。易于擴(kuò)充。除內(nèi)部函數(shù)外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可修改源文件和加入自己的文件,它們可以與庫(kù)函數(shù)一樣被調(diào)用。圖形功能強(qiáng)大。它既包括對(duì)二維和三維數(shù)據(jù)可視化、圖像處理、動(dòng)畫制作等高層次的繪

4、圖命令,也包括可以完全修改圖形局部及編制完整圖形界面的、低層次的繪圖命令。在MATLAB中,每一個(gè)對(duì)象都有一個(gè)數(shù)字標(biāo)識(shí)。這個(gè)數(shù)字標(biāo)識(shí)就叫做該對(duì)象的句柄句柄:句柄圖形:可以由用戶,通過句柄(是一個(gè)變量)來定制的圖形生成環(huán)境功能強(qiáng)大的工具箱。工具箱可分為兩類:功能性工具箱和學(xué)科性工具箱。功能性工具箱主要用來擴(kuò)充其符號(hào)計(jì)算功能、圖示建模仿真功能、文字處處理功能以及與硬件實(shí)時(shí)交互的功能。而學(xué)科性工具箱是專業(yè)性比較強(qiáng)的,如優(yōu)化工具箱、統(tǒng)計(jì)工具箱、控制工具箱、小波工具箱、圖像處理工具箱、通信工具箱等。1.3MATLAB環(huán)境環(huán)境1.3下面將分別介紹MATLAB的命令窗口、工作區(qū)、程序編輯器和幫助系統(tǒng)命令窗口

5、、工作區(qū)、程序編輯器和幫助系統(tǒng)。 1.3.1 命令窗口 命令窗口是用戶與MATLAB進(jìn)行交互會(huì)話的主要場(chǎng)所。 標(biāo)題欄 菜單欄 工具欄1.2.1安裝1.2.2啟動(dòng) 命令編輯區(qū):命令窗口的空白區(qū)域,用于輸入和顯示計(jì)算結(jié)果??梢栽谠搮^(qū)域鍵入各種MATLAB命令進(jìn)行各種操作,鍵入數(shù)學(xué)表達(dá)式進(jìn)行計(jì)算,例如,鍵入變量賦值命令:x=4.5并回車,將在命令行的下面顯示: x= 4.5 再輸入求 的三角正弦函數(shù)值的表達(dá)式y(tǒng)=sin(pi * x)并回車,將顯示: y= 1x 若在表達(dá)式后面跟分號(hào)“;”,則可以不顯示結(jié)果。這對(duì)有大量中間數(shù)據(jù) 的程序特別有用。因?yàn)閷懫翆⒒ㄙM(fèi)大量系統(tǒng)資源來進(jìn)行十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換

6、,用分號(hào)關(guān)掉不必要的輸出,會(huì)使程序運(yùn)行速度成倍甚至成百倍的提高。注意注意例如鍵入: x=6; y=4; z=9; 2* x+y-3 *z輸出: ans= -11 1)當(dāng)不指定輸出變量時(shí),MATLAB將計(jì)算值賦給缺省變量ans(an-swer的縮寫)。 2)在MATLAB里,有很多控制鍵和方向鍵可用于命令行的編輯。例如,當(dāng)漏敲命令ho=(1+sqrt(5)/2的字符“r”時(shí),將會(huì)給出錯(cuò)誤信息: Undefined function or variable sqt.這時(shí)不用重新鍵入整行命令,而只需按“ ”鍵,就會(huì)再顯示剛才鍵入的命令行,在相應(yīng)的位置鍵入“r”,接著按回車即可正常運(yùn)行。反復(fù)使用“ ”

7、鍵,可以回調(diào)以前鍵入的所有命令行。表1.1給出了MATLAB的控制鍵及其作用.表1.1命令窗口的控制鍵功能 鍵 相應(yīng)快捷鍵 功能 ctrl-p 重調(diào)前一行 ctrl-n 重調(diào)前一行 ctrl-b 向左移一個(gè)字符 ctrl-f 向右移一個(gè)字符 ctrl ctrl-r 向右移一個(gè)字 ctrl ctrl-l 向左移一個(gè)字 Home鍵 ctrl-a 移動(dòng)到行首 End鍵 ctrl-e 移動(dòng)到行尾 Esc鍵 ctr-u 清除一行賦值運(yùn)算符=、前后的空格不影響計(jì)算結(jié)果。 變量命名規(guī)則: 1)以字母開頭,后面可跟字母,數(shù)字和下短線; 2)大小寫字母有區(qū)別; 3)不超過31個(gè)字符。例如,xie23 -1,a,

8、At ,Arui32r這四個(gè)都是變量。 特殊變量名:特殊變量名: ans 系統(tǒng)定義的一個(gè)變量,它用于保留計(jì)算的結(jié)果。 pi 表示圓周率3.1415926eps eps是相對(duì)精度 , eps(A)相當(dāng)于求距離A最近的,可以被 matlab分辨(即判定不等于A)出來的數(shù)到A的距離。 單獨(dú)調(diào)用eps相當(dāng)于eps(1)1MATLAB能識(shí)別的緊挨著1的雙精度實(shí)數(shù)1+eps如1+eps1為真,1+eps/2=1為真。這與計(jì)算機(jī)的存儲(chǔ)特性相關(guān) matlab中的實(shí)數(shù)只有一種數(shù)據(jù)格式,就是雙精度(64位二進(jìn)制或8個(gè)字節(jié)),它的有效值是16位十進(jìn)制。正實(shí)數(shù)的范圍 realmaxans = 1.7977e+308

9、realminans = 2.2251e-308 epsans =2.2204e-016 eps(1)ans = 2.2204e-016realmin 最小可用正實(shí)數(shù), realmin= 2.2251X10-308 。如 realmin2,MATLAB 只能識(shí)別 0 。realmax 最大可用正實(shí)數(shù), realmax =1.7977X10+308 。 如 realmax+1=realmax ans =1 (返回邏輯值真 ,即上式成立)1.3.2 MATLAB工作區(qū) 工作區(qū)(workspace):接受MATLAB命令的內(nèi)存區(qū)域,存儲(chǔ)著命令窗口輸入的命令和創(chuàng)建的所有變量值。 每打開一次MATLAB

10、,都會(huì)自動(dòng)建立一個(gè)工作區(qū),剛打開的MATLAB工作區(qū)中只有MATLAB提供的幾個(gè)常量,如 pi(3.1415926 )、虛數(shù)單位i等。運(yùn)行MATLAB的程序或命令時(shí),產(chǎn)生的所有變量被加入到工作區(qū)。除非用特殊的命令刪除某變量,否則該變量在關(guān)閉MATLAB之前一直保存在工作區(qū)。工作區(qū)在MATLAB運(yùn)行期間一直存在,關(guān)閉MATLAB后,工作區(qū)自動(dòng)消除。注:Workspace在MATLAB界面上表現(xiàn)為一個(gè)資源列表,含變量名稱、取值、變量類別inf 無窮大,如1/0NaN 不定量,如0/0 i或j 表示虛數(shù)單位,即 i=j= - 1的開方 可以隨時(shí)查看工作區(qū)中的變量名及變量的值。Who或whos 顯示當(dāng)

11、前工作區(qū)中的所有變量Clear 清除工作區(qū)中的所有變量Clear (變量名) 清除指定的工作區(qū)變量工作區(qū)中的所有變量可以保存到一個(gè)文件中,便于以后使用。Save (文件名) 將當(dāng)前工作區(qū)的變量?jī)?chǔ)存在一個(gè)MAT文件中Load (文件名) 調(diào)出一個(gè)MAT文件quit 或單擊右上角的“X”按鈕,退出工作區(qū)1.3.3 MATLAB的程序編輯器的程序編輯器 MATLAB提供了一個(gè)內(nèi)置的具有編輯和調(diào)試功能的程序編輯器,編輯器窗口也有菜單欄和工具欄,使編輯和調(diào)試程序非常方便。當(dāng)你要解決一個(gè)具體的問題,要求執(zhí)行的命令數(shù)比較多;或要改變變量的值,反復(fù)執(zhí)行時(shí),編程序執(zhí)行的效率就較高。程序文件叫做M文件。M文件包含

12、兩類:命令文件(不需要參數(shù))和函數(shù)文件(需要自變量)。命令M文件的建立過程1)進(jìn)入程序編輯器( MATLAB Editor/Debug):從“File”菜單中選擇“New”及 “M file”項(xiàng)或單擊“New M file”按鈕;2)輸入程序:在“MATLAB Editor/Debug”窗口輸入MATLAB程序;3)保存程序:?jiǎn)螕?,出現(xiàn)一個(gè)對(duì)話框,在文件名一框中鍵入一個(gè)文件名,單擊“保存”按鈕。一個(gè)M文件便保存在磁盤上了,便于修改、調(diào)用、運(yùn)行和今后訪問。 命令文件沒有輸入?yún)?shù),也不返回輸出參數(shù),只是一些命令行的組合。命令M文件中的命令可以訪問MATLAB工作區(qū)中的所有變量,而且其中的所有變量也

13、成為工作區(qū)的一部分。命令文件運(yùn)行結(jié)束,命令文件產(chǎn)生的變量保留在工作區(qū),直至關(guān)閉MATLAB或用命令刪除,下面是一個(gè)命令文件的例子。程序:% 文件名 example.m x=4;y=6;z=2;%三種商品的數(shù)量 items=x+y+z %總數(shù)量 cost=x*25+y*22+z*99 %商品單價(jià)和總價(jià)格 average_cost=cost/items %平均價(jià)格 當(dāng)這個(gè)文件在程序編輯窗口輸入并以名為example.m的M文件存磁盤后,只需簡(jiǎn)單地在MATLAB命令編輯窗口鍵入example即可運(yùn)行,并顯示結(jié)果2. 命令M文件及其運(yùn)行 在M文件中對(duì)程序的注釋是以符號(hào)“%”開始直到該行結(jié)束的部分,程序

14、執(zhí)行時(shí)會(huì)自動(dòng)忽略。 注意注意上例運(yùn)行結(jié)果如下exampleitems= 12cost= 430average_cost= 35.8333 用戶可以重復(fù)打開example.m文件,改變x,y,z的值,保存文件并讓MAT-LAB重新執(zhí)行文件中的命令,若把example.m文件放在自己的工作目錄下,那么在運(yùn)行example.m之前,應(yīng)該先使該目錄處于MATLAB的搜索路徑上??梢赃x擇“File”菜單下的“Set Path”項(xiàng),打開路徑瀏覽器把該目錄永久地保存在MATLAB的搜索路徑上。 3.函數(shù)M文件及其調(diào)用 在MATLAB編輯窗口還可建立函數(shù)M文件,我們可以根據(jù)需要建立自己的函數(shù)文件,它們能夠像庫(kù)

15、函數(shù)一樣方便地調(diào)用,從而可擴(kuò)展MATLAB的功能,如果對(duì)于一類特殊的問題,建立起許多函數(shù)M文件,就能形成工具箱。函數(shù)M文件的第一行有特殊的要求,其形式必須為 function 輸出變量列表=函數(shù)名(輸入變量列表) 函數(shù)體語句函數(shù)M文件的文件名必須與其函數(shù)名相同。注意例如,一個(gè)只有兩行的函數(shù)M文件: function f=fun(x) f=100*(x-x2)2-(1-x)2;建立函數(shù)文件后,在MATLAB的命令窗口或別的M文件里,就可用下列命令調(diào)用:x=2; f=fun(x)結(jié)果為 f= 399函數(shù)函數(shù)M文件文件例2 還是一個(gè)只有兩行的函數(shù)M文件: function f=fun(x) f=10

16、0*(x(2) - x(1)2)2-(1- x(1)2;建立函數(shù)文件后,在MATLAB的命令窗口或別的M文件里,就可用下列命令調(diào)用:x=2 3; f=fun(x)結(jié)果為 f= 99例3 還是一個(gè)只有兩行的函數(shù)M文件: function f g=fun(x) f=100*(x(2)-x(1)2)2-(1-x(1)2; g=x(1)+x(2);(二維向量)建立函數(shù)文件后,在MATLAB的命令窗口或別的M文件里,就可用下列命令調(diào)用:x=2 3; f g=fun(x)結(jié)果為 f= 99 g=5 function F,G=fun2(x) F=2*x(1)2+2*x(2)2-2*x(1)*x(2)-4*x

17、(1)-6*x(2); G=x(1)+5*x(2)-5 2*x(1)2-x(2) ; -x(1) -x(2) ;還可用下列命令調(diào)用實(shí)參X1=4 5;F1,G1=fun2(x1形參)結(jié)果為F1= -4G1= 24 27 -4 -5調(diào)用,X=4 5;F,G=fun2(x)結(jié)果為F= -4G=24 27 -4 -51)輸出變量如果多于1個(gè),則應(yīng)該用方括號(hào)括起來;輸入變量應(yīng)該用逗號(hào)隔開;當(dāng)函數(shù)無輸出參數(shù)時(shí),輸出參數(shù)項(xiàng)空缺或者用空的中括號(hào)表示。如: function printresults(x) 或 function = printresults(x)2)函數(shù)M文件不能訪問工作區(qū)中的變量,工作區(qū)中的所

18、有變量均為局部變量,只有輸入、輸出變量才保留在工作區(qū)。又如:又如:4. 文件管理What 返回當(dāng)前目錄下 M,MAT,MEX文件的列表dir 列出當(dāng)前目錄下的所有文件cd 顯示當(dāng)前的工作目錄type test 在命令窗口下顯示test.m的內(nèi)容delete test 刪除M文件test.mwhich test 顯示M文件test.m所在的目錄這里text.m是一個(gè)具體的文件 MATLAB 有以下幾種方法獲得幫助:幫助命令、幫助窗口、MATLAB幫助臺(tái)、在線幫助頁或直接鏈接到Math Works公司 1.幫助命令 幫助命令是查詢函數(shù)語法的最基本方法,查詢信息直接顯示在命令窗口help函數(shù)后,可尋

19、求關(guān)于某函數(shù)的幫助例如,鍵入: help sqrt 顯示: sqrt square root.1.3.4MATLAB的幫助系統(tǒng)的幫助系統(tǒng) 幫助文本中的函數(shù)名幫助文本中的函數(shù)名SQRT是大寫的,以突出函數(shù)名,但在使用函是大寫的,以突出函數(shù)名,但在使用函 數(shù)時(shí),應(yīng)用小寫數(shù)時(shí),應(yīng)用小寫注意注意 MATLAB按照函數(shù)的不同用途分別將其存放于不同的子目錄下。 help子目錄標(biāo)題可顯示某一類的所有函數(shù)或命令。例如,鍵入: help graph2d 將顯示: Two dimensional graphs. Elementary X-Y graphs. plot -Linear plot. loglog -L

20、og-logscale plot semilogx -Semi-log scale plot.semilogy -Semi-log scale plot.命令help將顯示幫助的所有子目錄標(biāo)題。Lookfor 關(guān)鍵詞 它是通過搜索所有MATLAB下的help子目錄標(biāo)題與MATLAB搜索路徑中M文件的第一行,返回包含所指定關(guān)鍵詞的那些項(xiàng)。最重要的是關(guān)鍵詞不一定為命令。例如,鍵入: lookfor complex顯示: CONJ Complex conjugate. IMAG Complex imaginary part.REAL Complex real part.demo 可瀏覽例子和演示,h

21、elp demos 將給出所有的演示題目。2.幫助窗口 幫助窗口給出的信息與幫助命令給出的信息內(nèi)容一樣,但在幫助窗口給出的信息按目錄編排,比較系統(tǒng),更容易瀏覽與之相關(guān)的其他函數(shù)。在MATLAB命令窗口中有三種方法進(jìn)入幫助窗口: 1)雙擊菜單條上的問號(hào)按鈕; 2)鍵入helpwin命令; 3)選取幫助菜單里的“Help Window”項(xiàng)。 1.4數(shù)組和函數(shù)數(shù)組和函數(shù) MATLAB中最基本的數(shù)據(jù)對(duì)象就是數(shù)組或矩陣。標(biāo)量可看作是11型的矩陣,向量可看作是1n或n1的矩陣。一維數(shù)組是向量,二維數(shù)組便是矩陣,還有三維甚至更高維的數(shù)組。標(biāo)量運(yùn)算是數(shù)學(xué)的基礎(chǔ)。在多對(duì)數(shù)據(jù)執(zhí)行同樣運(yùn)算的場(chǎng)合,采用數(shù)組或矩陣運(yùn)算

22、將非常簡(jiǎn)潔和方便。1.4.1創(chuàng)建矩陣創(chuàng)建矩陣1.直接定義直接定義鍵入:A=1 2 3;4 5 6回車后,輸出為 A= 1 2 3 4 5 6 這里A為一個(gè)2行3列的數(shù)組或矩陣??崭窕蚨禾?hào)用于分隔某一行的元素,分號(hào)表示開始新的一行。輸出:A= 1 2 3 4 5 02. 一維數(shù)組的簡(jiǎn)單構(gòu)造一維數(shù)組的簡(jiǎn)單構(gòu)造 前面通過鍵入每個(gè)元素來輸入一個(gè)矩陣或數(shù)組,當(dāng)數(shù)組中的元素有成百上千時(shí),怎么辦呢?對(duì)于一維數(shù)組有兩種簡(jiǎn)單的輸入式。例如, x=0:0.1:1 %從0到1,增量為0.1即步長(zhǎng) 。 x=linspace(0,pi,11) %在0到pi之間插入了9個(gè)等份值。x 共含11個(gè)分量。 在MATLAB中這兩

23、種創(chuàng)建數(shù)組的方式是最常見的。注意:定義A用方括弧,訪問A的第二行第三列的元素,用圓括弧鍵入:A(2,3)=0 (數(shù)組編址) %將第2行,第3列的元素置為0。 上述數(shù)組創(chuàng)建形式所得到的數(shù)組元素是線性分隔的,當(dāng)需要對(duì)數(shù)分隔時(shí),MATLAB提供了函數(shù)logspace. 格式:x=logspace(first,last,n) 從first開始,到last結(jié)束,等份地插入n-2個(gè)值,以這n個(gè)值作為10的方冪構(gòu)成行向量x。例如:x=logspace(0,2,5) 1.0000 3.1623 10.0000 31.6228 100.0000% 5個(gè)方冪(作為10的指數(shù))為:0, 0.5 , 1, 1.5 ,

24、 2 已知一組數(shù)可以表達(dá)為10的方冪,且方冪數(shù)組為線性分隔的,則調(diào)用logspace函數(shù)即可給出這組數(shù)。 有時(shí)所需的數(shù)組不具有易于描述的線性或?qū)?shù)分隔關(guān)系,這時(shí)使用數(shù)組編址和表達(dá)式組合的方法可簡(jiǎn)化數(shù)組元素輸入。組合的方式:鍵入: a=1:5(步長(zhǎng)1省略);b=1:2:9(步長(zhǎng)2);c=b a(組合)輸出:c= 1 3 5 7 9 1 2 3 4 5例如 y=logspace(-2,2,10)y= 0.0100 0.0278 0.0774 0.2154 0.5995 1.6681 4.6416 12.9155 35.9381 100.0000% 其中方冪序列為 -2.0000 -1.5556 -

25、1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 2.0000 創(chuàng)建的數(shù)組c,由b中元素和a中元素構(gòu)成。編址的方式:鍵入: d=a(1:2:5)1 0 1輸出: d= 1 3 5 1 0 1 上述所創(chuàng)建的數(shù)組都是行向量,如何創(chuàng)建列向量呢?可使用轉(zhuǎn)置算子()把行向量變成列向量。如鍵入:a=1:4; %表示從1到4,增量為1的行向量b=a %表示向量的轉(zhuǎn)置% a的第1、3、5分量b= 1 2 3 4有兩種轉(zhuǎn)置的符號(hào): 1)當(dāng)數(shù)組是復(fù)數(shù)時(shí),()產(chǎn)生的是復(fù)數(shù)共軛轉(zhuǎn)置; 2). 只對(duì)數(shù)組轉(zhuǎn)置,但不進(jìn)行共軛。例如:a=1+i 2-i 3+i 4 - i

26、; 3.一維數(shù)組的操作一維數(shù)組的操作鍵入:x=0 .1*pi .2*pi .3*pi .4*pi .5*pi .6*pi .7*pi .8*pi .9*pi pi;(零點(diǎn)幾,零可以去掉) y=sin(x)注意:MATLAB中可將 0.1寫為.1 0.2寫為.2 a. 1.0000 + 1.0000i 2.0000 - 1.0000i 3.0000 + 1.0000i 4.0000 - 1.0000i a(轉(zhuǎn)置后共軛) 1.0000 - 1.0000i 2.0000 + 1.0000i 3.0000 - 1.0000i 4.0000 + 1.0000i輸出: y= Columns 1 throu

27、gh 7 0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 Columns 8 through 11 0.8090 0.5878 0.3090 0.0000 在MATLAB中,數(shù)組元素用下標(biāo)訪問,如y(2)是y的第2個(gè)元素。例如,鍵入: y(3) %表示y的第3個(gè)元素輸出:ans= 0.5878 可以同時(shí)訪問一個(gè)數(shù)據(jù)塊,MATLAB用冒號(hào)來表示。鍵入: x(1:5)輸出:ans= 0 0.3142 0.6283 0.9425 1.2566鍵入:y(3:-1:1)輸出:ans= 0.5878 0.3090 0 3:-1:1表示從3開始減1計(jì)數(shù),到1為止。又如

28、鍵入: x(2:2:7)輸出:ans= 0.3142 0.9425 1.5708 2:2:7表示從2開始加2計(jì)數(shù),到7為止。再如鍵入: y(8 2 9 1)輸出: ans= 0.8090 0.3090 0.5878 0這里是按照數(shù)組8 2 9 1提供的次序來提取y數(shù)組中的元素。注意:用方括號(hào) 定義一個(gè)向量,用圓括號(hào)訪問向量的分量鍵入:A=1 2 3;4 5 6;7 8 9 A(3 , : ) % 取A的第3行所有列輸出:ans= 7 8 9鍵入: A(:,1) % 取A的第1列的所有行輸出:ans= 1 4 7 從一個(gè)矩陣中取出若干行(列)構(gòu)成新矩陣稱為剪裁,冒號(hào)“:”是非常重要的剪裁工具。例

29、如% 這是一個(gè)3行3列的矩陣逗號(hào)前面是行標(biāo), 后面是列標(biāo) 4.用矩陣的剪裁與拼接的方法構(gòu)造新矩陣用矩陣的剪裁與拼接的方法構(gòu)造新矩陣鍵入: B=A(2:3,:) %取A的第2, 3行,全部列(:表示到行以一為步長(zhǎng))輸出: B= 4 5 6 7 8 9鍵入: C= A(1:2,1 3 )%A的第1到2行,第1,3列輸出:c= 1 3 4 6 還有A(1:2:3,3:-1:1),想想將輸出什么? 將幾個(gè)矩陣接在一起稱為拼接,左右拼接行數(shù)要相同,上下拼接列數(shù)要相同。例如,鍵入: D=C,zeros(2,1) (zeros(2,1)表示兩行一列的零)輸出: D= 1 3 0 4 6 0鍵入: E=D;e

30、ye(2),ones(2,1)(eye(2)表示單位矩陣)輸出: E= 1 3 0 4 6 0 1 0 1 0 1 1% 分號(hào)為換行A(r , c)表示提取A中,由行下標(biāo)向量r定義的行,和由列下標(biāo)向量c定義的列所構(gòu)成的A的子數(shù)組。 A(1 5 2,6 4 2)為A矩陣的第1、5、2行,第6、4、2列的3階子陣注意注意a=1 2 3 4 5 6 7;b=a+1;c=a.*b-5;a=a;2*a;b-c;a+c;c-a;3*b;aA(r,:)提取A中,由索引向量r定義的行,和全部列所構(gòu)成的A的子數(shù)組A(:,c)提取A中,由全部行,和由索引向量c定義的列所構(gòu)成的A的子數(shù)組。用分號(hào)進(jìn)行拼接的例子A=2

31、 4 6; 2 -10 -30; -1 11 31A(:)=2 2 -1 4 -10 11 6 -30 31 A(7)=A(:)逐列提取A中的所有元素作為一個(gè)列向量。A(i) 是把A看作列向量A(:),提取其中第i個(gè)元素。例例如,A矩陣如上 A(2 1, : )= 2 -10 -30 2 4 6 A(:, 1 3)= 2 6 2 -30 -1 31 A(2 1,1 3)= 2 -30 2 61.4.2 數(shù)組運(yùn)算數(shù)組運(yùn)算1.標(biāo)量-數(shù)組運(yùn)算鍵入: a=1:5 ; 3*a-5輸出 : ans= -2 1 4 7 10鍵入: a.2輸出: ans = 1 4 9 16 25 2.數(shù)組-數(shù)組運(yùn)算 當(dāng)兩個(gè)

32、數(shù)組具有相同大小時(shí),加、減、點(diǎn)乘(.*)、點(diǎn)除(./)、和點(diǎn)乘方運(yùn)算(.)是按元素對(duì)元素方式進(jìn)行的。例如,鍵入: g=1 2 3;5 6 7;8 9 10; h=1 1 1;2 2 2;3 3 3; g.*h(對(duì)應(yīng)分量相乘,即同一位置數(shù)相乘)標(biāo)量與數(shù)組的加、減、乘、除和點(diǎn)乘方(.)運(yùn)算。其中點(diǎn)乘方(.)是指對(duì)數(shù)組的每個(gè)元素進(jìn)行乘方運(yùn)算。上述運(yùn)算,均得到同樣大小的數(shù)組,例如:數(shù)組和矩陣的點(diǎn)乘、點(diǎn)除、點(diǎn)乘方運(yùn)算是MATLAB特有的。它適應(yīng)了MATLAB以數(shù)組、矩陣為自變量的計(jì)算方式輸出: ans = 1 2 3 10 12 14 24 27 30關(guān)于Matlab的向量”點(diǎn)乘方”的一個(gè)例題x=lin

33、space(0,pi,100); (到的個(gè)平分?jǐn)?shù))a=2;b=1;c=3;對(duì)于上述x向量,我們定義y向量,其第i分量為 y(i)=a*x(i)2+b*x(i)+c若要計(jì)算i=1,2,100的函數(shù)值.那么要算 y(1)=a*x(1)2+b*x(1)+c y(2)=a*x(2)2+b*x(2)+c y(100)=a*x(100)2+b*x(100)+c 或要編一個(gè)循環(huán)程序來計(jì)算。 Matlab的點(diǎn)乘運(yùn)算可以針對(duì)x向量一次計(jì)算出y向量 y=a*x.2+b*x+c 設(shè) a=a1 a2 a3, b=b1 b2 b3,c=標(biāo)量 標(biāo)量加法 a+c=a1+c a2+c a3+c; 標(biāo)量乘法 a*c=a1*c

34、a2*c a3*c; 數(shù)組加法 a+b=a1+b1 a2+b2 a3+b3; 數(shù)組乘法 a.*b=a1*b1 a2*b2 a3*b3; 數(shù)組右除 a./b=a1/b1 a2/b2 a3/b3; 數(shù)組左除 a.b=b1/a1 b2/a2 b3/a3; 數(shù)組求冪 a.c= a1c a2c a3c; c.a= ca1 ca2 ca3; a.b=a1b1 a2b2 a3b3;提示提示練習(xí):取a=1 1 2 ,b=3 2 1,c=2,觀察計(jì)算結(jié)果。兩個(gè)向量的相互運(yùn)算(加減除外)必須在運(yùn)算符號(hào)前加“” MATLAB提供了下列矩陣運(yùn)算 + 加法;- 減法;轉(zhuǎn)置運(yùn)算; 乘法;乘冪;左除;/ 右除 除了除法之外

35、,其他運(yùn)算都與線性代數(shù)中定義的一樣。因此,這里只介紹一下除法運(yùn)算。設(shè)A是可逆矩陣,解關(guān)于未知矩陣X的方程。1)在線性代數(shù)中方程AX=B的解為A-1B。MATLAB中這個(gè)解叫做A左除B,并在表達(dá)式中寫為 AB。2)在線性代數(shù)中方程XA=B的解為BA-1, MATLAB中這個(gè)解叫做A右除B,并在表達(dá)式中寫為 B/A。請(qǐng)?jiān)O(shè)計(jì)練習(xí)題,練習(xí)并認(rèn)識(shí)矩陣的左除、右除。 1)當(dāng)A為方陣,p1為整數(shù)時(shí),Ap表示A自乘p 次; 2)當(dāng)A和P均為矩陣時(shí),不能計(jì)算AP.注意1.4.3 矩陣的運(yùn)算矩陣的運(yùn)算 數(shù)學(xué)函數(shù)的自變量可以是一維或多維數(shù)組!此時(shí),輸出的是各元素的函數(shù)值構(gòu)成的同規(guī)格數(shù)組。例如,輸出:ans= 0.8

36、415 0.9093 0.1411 -0.7568 -0.9589 -0.2794MATLAB中的常用數(shù)學(xué)函數(shù)有三角函數(shù):正弦sin(x),雙曲正弦sinh(x),反正弦asin(x),反雙曲正弦 asinh(x),余弦cos(x),正切tan(x),余切cot(x),正割sec(x), 余割csc(x),等。輸入: a=1 2 3;4 5 6;sin(a)1.4.4 函數(shù)函數(shù) 1.常用的數(shù)學(xué)函數(shù)help sinhsinh(x)=(ex-e(-x)/2x = -5:0.01:5;plot(x,sinh(x)(自變量放前面,函數(shù)值放后面)例如指數(shù)函數(shù):指數(shù)函數(shù):exp(x),自然對(duì)數(shù)自然對(duì)數(shù) l

37、og(x),常用對(duì)數(shù),常用對(duì)數(shù)log10(x),以,以2為底的對(duì)數(shù)為底的對(duì)數(shù) 以以2為底的對(duì)數(shù)為底的對(duì)數(shù) log2(x),平方根,平方根sqrt(x)等。等。整數(shù)函數(shù):整數(shù)函數(shù):朝零方向取整朝零方向取整fix(x),朝,朝-方向取整方向取整floor(x),朝,朝+方向取整方向取整ceil(x), 四舍五入到最接近的整數(shù)四舍五入到最接近的整數(shù)round(x),符號(hào)函數(shù),符號(hào)函數(shù)sign(x)等。等。練習(xí):練習(xí):fix(3.8), fix(-3.8), floor(-3.8),floor(-3.8),ceil(-3.8),round(3.8)其他數(shù)學(xué)函數(shù):絕對(duì)值或復(fù)數(shù)的幅值其他數(shù)學(xué)函數(shù):絕對(duì)值或

38、復(fù)數(shù)的幅值abs(x)等等2. 數(shù)組的特征數(shù)組的特征 、 矩陣操作函數(shù)矩陣操作函數(shù)size(A) 返回一個(gè)二維向量,第一個(gè)元素為返回一個(gè)二維向量,第一個(gè)元素為A的行數(shù),第二個(gè)元素為的行數(shù),第二個(gè)元素為A的列數(shù)的列數(shù)size(A,1) 返回返回A矩陣的行數(shù)矩陣的行數(shù)size(A,2) 返回返回A矩陣的列數(shù)矩陣的列數(shù)Length(A) 返回返回max(size(A)flipud(A) 矩陣作上下翻轉(zhuǎn)矩陣作上下翻轉(zhuǎn) flip/翻轉(zhuǎn)翻轉(zhuǎn) up/上上 down/下下fliplr(A) 矩陣作左右翻轉(zhuǎn)矩陣作左右翻轉(zhuǎn) left/左左 right/右右 diag(A) 提取提取A的對(duì)角元素,返回列向量的對(duì)角元

39、素,返回列向量diag(v) 以向量以向量v作對(duì)角元素創(chuàng)建對(duì)角矩陣作對(duì)角元素創(chuàng)建對(duì)角矩陣 v=1 3 2 4; diag(v)ans = 1 0 0 0 0 3 0 0 0 0 2 0 0 0 0 4A = 1.2000 3.4000 5.6000 7.8000 4.2000 6.4000 8.6000 10.8000 2.4000 6.8000 11.2000 15.6000 1.8000 -0.4000 -2.6000 -4.8000diag(A)ans = 1.2000 6.4000 11.2000 -4.8000 最大值最大值max,最小值,最小值min,求和,求和sum,求平均值,求

40、平均值mean,按升序排列,按升序排列sort等函等函數(shù),只有當(dāng)它們作用于向量時(shí)才有意義。它們也可作用于矩陣,此時(shí)產(chǎn)生一個(gè)行數(shù),只有當(dāng)它們作用于向量時(shí)才有意義。它們也可作用于矩陣,此時(shí)產(chǎn)生一個(gè)行向量,行向量的每個(gè)元素是函數(shù)作用于矩陣相應(yīng)列向量的結(jié)果。向量,行向量的每個(gè)元素是函數(shù)作用于矩陣相應(yīng)列向量的結(jié)果。 例如,鍵入:例如,鍵入: a=-4.5 9 7 -2.8 3.5 9.5 5.4 7.3; min(a),m,im=min(a),M,im=max(a),ra,ir=sort(a)返回最小值返回最小值最小值的下標(biāo)最小值的下標(biāo)升序排列后的向量升序排列后的向量每個(gè)元素的原有位置每個(gè)元素的原有位置

41、 ra=(升序排列)(升序排列) -4.5000 -2.8000 3.5000 5.4000 7 7.3000 9.0000 9.5000 ir=(升序排列前數(shù)的位置順序)(升序排列前數(shù)的位置順序) 1 4 5 7 3 8 2 6輸出:輸出: ans= -4.5000 m=-4.5000 im=1 M=9.5000 iM=6d=eig(A) 實(shí)際上,實(shí)際上,eig() 函數(shù)有兩個(gè)返回值函數(shù)有兩個(gè)返回值, v d=eig(A) , v是特征向量,是特征向量,d是特征值是特征值A(chǔ) = 1.2000 3.4000 5.6000 7.8000 4.2000 6.4000 8.6000 10.8000

42、2.4000 6.8000 11.2000 15.6000 1.8000 -0.4000 -2.6000 -4.8000eig(A)ans = 17.0896 0.0000 -3.0896 0.0000矩陣矩陣A的特征值的特征值v d=eig(A)v = 0.3467 0.3651 -0.3341 0.4300 0.6282 -0.1826 -0.0033 -0.3205 0.6935 -0.7303 -0.6681 -0.6491 -0.0653 0.5477 0.6648 0.5395d = 17.0896 0 0 0 0 0.0000 0 0 0 0 -3.0896 0 0 0 0 0.

43、0000調(diào)用調(diào)用eig()函數(shù),可得到函數(shù),可得到兩個(gè)返還值。第一個(gè)是兩個(gè)返還值。第一個(gè)是特征列向量構(gòu)成的矩陣特征列向量構(gòu)成的矩陣第二個(gè)是特征值構(gòu)成的第二個(gè)是特征值構(gòu)成的對(duì)角陣對(duì)角陣3.矩陣函數(shù)矩陣函數(shù)例如例如det(A) 行列式計(jì)算行列式計(jì)算inv(A) 矩陣的逆矩陣的逆orth(A) 正交化正交化poly(A) 特征多項(xiàng)式特征多項(xiàng)式rank(A) 矩陣的秩矩陣的秩trace(A) 矩陣的跡(對(duì)角元素之和)矩陣的跡(對(duì)角元素之和)zeros(m,n) m行行n列的零矩陣列的零矩陣ones(m,n) m行行n列的全列的全1矩陣矩陣eye(n) n階單位矩陣階單位矩陣rand(m,n) m行行n

44、列的均勻分布隨機(jī)數(shù)矩陣列的均勻分布隨機(jī)數(shù)矩陣randn(m,n) m行行n列的正態(tài)分布隨機(jī)數(shù)矩陣列的正態(tài)分布隨機(jī)數(shù)矩陣 利用幫助,了解向量函數(shù)利用幫助,了解向量函數(shù)max, min ,sum, mean, sort, length,矩陣函數(shù),矩陣函數(shù)rand ,size的功能和用法。的功能和用法。 做做1.5 圖形功能圖形功能1.基本的繪圖命令基本的繪圖命令 plot命令打開一個(gè)圖形窗口,將坐標(biāo)軸縮擴(kuò)以適應(yīng)數(shù)據(jù),繪制數(shù)據(jù),如命令打開一個(gè)圖形窗口,將坐標(biāo)軸縮擴(kuò)以適應(yīng)數(shù)據(jù),繪制數(shù)據(jù),如果已經(jīng)存在一個(gè)圖形窗口,則果已經(jīng)存在一個(gè)圖形窗口,則plot命令會(huì)清除當(dāng)前圖形窗口的圖形,繪制命令會(huì)清除當(dāng)前圖形窗

45、口的圖形,繪制新的圖形。新的圖形。 1)plot(y) 當(dāng)當(dāng)y為向量時(shí),以為向量時(shí),以y的分量序號(hào)為橫坐標(biāo),以分量本身為縱坐的分量序號(hào)為橫坐標(biāo),以分量本身為縱坐標(biāo),用直線依次連接數(shù)據(jù)點(diǎn),繪制曲線,標(biāo),用直線依次連接數(shù)據(jù)點(diǎn),繪制曲線,例如例如 y=1 -3 5 -2 6 -3 7 -1 8, 各分量序號(hào)自然為各分量序號(hào)自然為 1 2 3 4 5 6 7 8 9 繪圖結(jié)果為繪圖結(jié)果為1.5.1 二維圖形二維圖形 2)plot(x,y) 以以x為橫坐標(biāo),為橫坐標(biāo),y為縱坐標(biāo)繪制連線圖。為縱坐標(biāo)繪制連線圖。若若x是向量,是向量,y是行數(shù)或列數(shù)與是行數(shù)或列數(shù)與x長(zhǎng)度相等的矩陣,則繪制多條不同色彩的連線長(zhǎng)

46、度相等的矩陣,則繪制多條不同色彩的連線圖,圖,x被作為這些曲線的共同橫坐標(biāo)。若被作為這些曲線的共同橫坐標(biāo)。若x和和y為同型矩陣,則以為同型矩陣,則以x,y對(duì)應(yīng)列元對(duì)應(yīng)列元素為橫縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。素為橫縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。 3)plot(x1,y1,x2,y2,)在此格式中,每對(duì))在此格式中,每對(duì)x,yx,y必須符合必須符合plot(x,y)plot(x,y)中的要求,不同對(duì)之間沒有影響,命令將對(duì)每一對(duì)中的要求,不同對(duì)之間沒有影響,命令將對(duì)每一對(duì)x,yx,y繪制曲線。繪制曲線。 以上三種格式中的以上三種格式中的x,yx,y都可以是表達(dá)式都可以是表

47、達(dá)式( (即可以為向量或數(shù)組的運(yùn)行結(jié)果即可以為向量或數(shù)組的運(yùn)行結(jié)果) )。若若y為實(shí)矩陣,則按列繪制每列對(duì)應(yīng)的曲線,圖中曲線數(shù)等于矩陣的列數(shù)。為實(shí)矩陣,則按列繪制每列對(duì)應(yīng)的曲線,圖中曲線數(shù)等于矩陣的列數(shù)。 例例1.1 作出作出y=sin(x)在在0,2 上的圖形。上的圖形。 例例1.2 在同一個(gè)坐標(biāo)系下作出兩條曲線在同一個(gè)坐標(biāo)系下作出兩條曲線y=sin(x)和和y=cos(x)在在 0,2 上的上的圖形。圖形。鍵入:鍵入: x=0:2*pi/30:2*pi;y=sin(x);cos(x); plot(x,y); plot( , )或鍵入:或鍵入: x=0:2*pi/30:2*pi; y1=si

48、n(x);y2=cos(x); plot(x,y1,x,y2)% 等分間隔點(diǎn)為等分間隔點(diǎn)為30個(gè)個(gè)鍵入:鍵入: x=linspace(0,2*pi,30); y=sin(x); plot(x,y);都可畫出圖都可畫出圖1.2. 多條曲線的另一種畫法是用多條曲線的另一種畫法是用hold命令。在已畫好的圖形上,若設(shè)置命令。在已畫好的圖形上,若設(shè)置Hold on,MATLAB將把新的將把新的plot命令產(chǎn)生的圖形疊合在原來的圖形上。而命令命令產(chǎn)生的圖形疊合在原來的圖形上。而命令hold off 將結(jié)束這種狀態(tài)。例如,將結(jié)束這種狀態(tài)。例如, x=linspace(0,2*pi,30); y=sin(x

49、);plot(x,y);先畫好圖先畫好圖1.1,然后用,然后用 hold on z=cos(x);plot(x,z); hold off增加增加cos(x)的圖形,也可得到圖的圖形,也可得到圖1.2. 課堂練習(xí)課堂練習(xí)如,命令如,命令plot(x,y,y:o),其中字符串,其中字符串“y:o”中,中,y 表示曲線顏色為黃色表示曲線顏色為黃色:表示曲線為點(diǎn)線:表示曲線為點(diǎn)線o 表示用小圓圈標(biāo)記數(shù)據(jù)點(diǎn)表示用小圓圈標(biāo)記數(shù)據(jù)點(diǎn)。字符串參數(shù)的取值如下:。字符串參數(shù)的取值如下: 2.基本的繪圖控制基本的繪圖控制 在調(diào)用在調(diào)用plot時(shí)可以指定顏色、線型和數(shù)據(jù)點(diǎn)標(biāo)記,基本的調(diào)用格式為時(shí)可以指定顏色、線型和數(shù)

50、據(jù)點(diǎn)標(biāo)記,基本的調(diào)用格式為 plot(x,y,color linestyle marker) 其中其中colir-linestyle-marker為一個(gè)字符串,由顏色、線型和數(shù)據(jù)點(diǎn)標(biāo)記組為一個(gè)字符串,由顏色、線型和數(shù)據(jù)點(diǎn)標(biāo)記組 成,例成,例顏色:顏色:y(黃黃);r(紅紅);g(綠綠);b(藍(lán)藍(lán));w(白白);k(黑黑);m(紫紫); c(青青)。線型:線型:-(實(shí)線);:(點(diǎn)線);(實(shí)線);:(點(diǎn)線);-。(虛點(diǎn)線);。(虛點(diǎn)線);-(虛線)。(虛線)。數(shù)據(jù)點(diǎn)標(biāo)記:。(小黑點(diǎn));數(shù)據(jù)點(diǎn)標(biāo)記:。(小黑點(diǎn));+(加號(hào));(加號(hào));*(星號(hào));(星號(hào));o(小圓圈);(小圓圈);pentagram

51、(五角星)。五角星)。 坐標(biāo)系的控制:坐標(biāo)系的控制: MATLAB自動(dòng)指定圖形的橫縱坐標(biāo)自動(dòng)指定圖形的橫縱坐標(biāo)比例和顯示的范圍,如果你不滿意,可有比例和顯示的范圍,如果你不滿意,可有axis命令來控制,常用的有命令來控制,常用的有axis(xmin xmax ymin ymax),其中分別給出,其中分別給出x軸和軸和y軸的最小、最大軸的最小、最大值值axis equal x軸和軸和y軸的單位長(zhǎng)度相同軸的單位長(zhǎng)度相同axis square 圖框呈方形圖框呈方形axis off 取消坐標(biāo)軸取消坐標(biāo)軸MATLAB提供了標(biāo)注圖形的命令,常用的有提供了標(biāo)注圖形的命令,常用的有xlabel,ylabel和

52、和zlabel,它們它們分別用于對(duì)分別用于對(duì)x,y,z軸加標(biāo)注;軸加標(biāo)注;title用于給整個(gè)圖形加標(biāo)題;用于給整個(gè)圖形加標(biāo)題;text和和gtext用于在圖形中特定的位置加字符串,前者字符串的位置在命令中指定,后用于在圖形中特定的位置加字符串,前者字符串的位置在命令中指定,后者用鼠標(biāo)指定;者用鼠標(biāo)指定;grid在圖形上加網(wǎng)格。在圖形上加網(wǎng)格。 例例1.3在同一坐標(biāo)系下畫出在同一坐標(biāo)系下畫出sinx和和cosy的函數(shù)圖形,并適當(dāng)標(biāo)注。的函數(shù)圖形,并適當(dāng)標(biāo)注。鍵入:鍵入: x=linspace(0,2*pi,30);y=sin(x);cos(x); title(Sine and Cosine C

53、urves); plot(x,y);grid;xlabel(x);ylabel(y); text(3*pi/4,sin(3*pi/4),leftarrowsinx; text(3*pi/2,cos(3*pi/2), cosxrightarrow,HorizontalAlignment,right);切換到切換到MATLAB逐句執(zhí)行逐句執(zhí)行3.圖形標(biāo)注圖形標(biāo)注 若使命令若使命令gtext(sinx)代替命令代替命令text,則在圖形窗口上會(huì)出現(xiàn)十字線,其交,則在圖形窗口上會(huì)出現(xiàn)十字線,其交點(diǎn)是字符串的位置,移動(dòng)鼠標(biāo)可移動(dòng)該交點(diǎn),鼠標(biāo)點(diǎn)擊一下就可將字符串固點(diǎn)是字符串的位置,移動(dòng)鼠標(biāo)可移動(dòng)該交點(diǎn),鼠

54、標(biāo)點(diǎn)擊一下就可將字符串固定在那里。定在那里。Subplot(m,n,p)可在同一個(gè)圖形窗口中,畫出多幅不同坐標(biāo)系中的圖形??稍谕粋€(gè)圖形窗口中,畫出多幅不同坐標(biāo)系中的圖形。 該該命令把圖形窗口劃分為命令把圖形窗口劃分為mn個(gè)圖形區(qū)域,個(gè)圖形區(qū)域,p代表當(dāng)前的區(qū)域號(hào),在每個(gè)區(qū)域中分代表當(dāng)前的區(qū)域號(hào),在每個(gè)區(qū)域中分別畫一個(gè)圖。子圖沿第一行從左至右編號(hào),接著排第二行,依此類推。用法如下別畫一個(gè)圖。子圖沿第一行從左至右編號(hào),接著排第二行,依此類推。用法如下例例 x=linspace(0,2*pi,30);y=sin(x);z=cos(x); u=2*sin(x).*cos(x); v=sin(x)./

55、cos(x); subplot(2,2,1),plot(x,y),title(sin(x) subplot(2,2,2),plot(x,z),title(cos(x) subplot(2,2,3),plot(x,u),title(2sin(x)cos(x) subplot(2,2,4),plot(x,v),title(sin(x)/cos(x);y、z兩個(gè)向量對(duì)應(yīng)分量相兩個(gè)向量對(duì)應(yīng)分量相乘:乘:.*采用采用.*,可以一次處理,可以一次處理n個(gè)個(gè)自變量的自變量的sin、cos相乘相乘采用采用./,可以一次處理,可以一次處理n個(gè)個(gè)自變量的自變量的sin、cos相除相除 4.多幅圖形多幅圖形例例1.

56、4 作螺旋線作螺旋線x=sint,y=cost,z=t. 鍵入:鍵入: t=0:pi/50:10*pi; plot3(sin(t),cos(t),t);對(duì)于對(duì)于 t 的的501個(gè)取值,繪制并連接個(gè)取值,繪制并連接501個(gè)個(gè)空間點(diǎn),形成空間曲線空間點(diǎn),形成空間曲線1.5.2 三維圖形三維圖形1.空間曲線空間曲線 2. 空間曲面繪圖空間曲面繪圖MATLAB要求我們要求我們 (1) 給出平面點(diǎn)的橫坐標(biāo)向量給出平面點(diǎn)的橫坐標(biāo)向量x, 縱坐標(biāo)向量縱坐標(biāo)向量y (2) 利用橫坐標(biāo)向量利用橫坐標(biāo)向量x,縱坐標(biāo)向量,縱坐標(biāo)向量y,生成平面點(diǎn)集,生成平面點(diǎn)集 (x , y) 的橫坐標(biāo)、的橫坐標(biāo)、縱坐標(biāo)兩個(gè)矩陣。

57、縱坐標(biāo)兩個(gè)矩陣。xyX=1 2 3 41 2 3 41 2 3 4Y=135135135135例:例:x=1 2 3; y=4 5; X Y=meshgrid(x,y); % 平面點(diǎn)集的橫坐標(biāo)矩陣為平面點(diǎn)集的橫坐標(biāo)矩陣為X,縱坐標(biāo)矩陣為,縱坐標(biāo)矩陣為Y對(duì)每一個(gè)平面點(diǎn)對(duì)每一個(gè)平面點(diǎn)(x,y),即,即X,Y的對(duì)應(yīng)分量定義函數(shù)值的對(duì)應(yīng)分量定義函數(shù)值 z=f(x,y)這些函數(shù)值其實(shí)是空間點(diǎn)的立坐標(biāo)矩陣這些函數(shù)值其實(shí)是空間點(diǎn)的立坐標(biāo)矩陣Z。(4) 對(duì)空間點(diǎn)集對(duì)空間點(diǎn)集 ( X , Y , Z) 完成曲面繪圖。完成曲面繪圖。實(shí)現(xiàn)上述任務(wù)的命令為:實(shí)現(xiàn)上述任務(wù)的命令為: 定義向量定義向量x,y; X Y=m

58、eshgrid(x,y); 由由X,Y定義空間點(diǎn)的立坐標(biāo)定義空間點(diǎn)的立坐標(biāo) Z, 即即Z=f(X,Y) mesh(X,Y,Z); (或或surf(X,Y,Z)X=1 2 31 2 3Y=4 4 45 5 5Z=X.2+Y.2;mesh(X,Y,Z)meshgrid平面點(diǎn)的橫坐標(biāo)構(gòu)成平面點(diǎn)的橫坐標(biāo)構(gòu)成X矩陣;平面點(diǎn)的縱坐標(biāo)構(gòu)成矩陣;平面點(diǎn)的縱坐標(biāo)構(gòu)成Y矩陣;空間點(diǎn)的是定義在平面點(diǎn)上矩陣;空間點(diǎn)的是定義在平面點(diǎn)上x向量為平面點(diǎn)的橫坐標(biāo)向量為平面點(diǎn)的橫坐標(biāo)y向量為平面點(diǎn)的縱坐標(biāo)向量為平面點(diǎn)的縱坐標(biāo)圖形示例:圖形示例:mesh例例1.5 作曲面作曲面z=f(x,y)的圖形的圖形2222sin, 7.5

59、,7.5xyzx yxy鍵入:鍵入: x=-7.5:0.5:7.5;y=x; X,Y=meshgrid(x,y); R=sqrt(X.2+Y.2); Z=sin(R)./(R+eps) ; mesh(X,Y,Z);課堂例題課堂例題 x=0:pi/100:2*pi; y=x;X Y=meshgrid(x,y); Z=sin(X).*cos(Y); mesh(X,Y,Z)等高線等高線MATLAB還提供了畫二維和三維等高線圖的函數(shù)還提供了畫二維和三維等高線圖的函數(shù)contour和和contour3. 例例1.6 作出庫(kù)函數(shù)作出庫(kù)函數(shù)peaks產(chǎn)生的二元函數(shù)的曲面及其等值線圖。產(chǎn)生的二元函數(shù)的曲面及其

60、等值線圖。鍵入:鍵入: X,Y,Z=peaks(30); surf(X,Y,Z); figure(2); %打開另一個(gè)圖形窗口打開另一個(gè)圖形窗口 contour(X,Y,Z,16); figure(3); contour3(X,Y,Z,16); 可將上述的畫網(wǎng)格圖的可將上述的畫網(wǎng)格圖的mesh命令改為命令改為surf(X,Y,Z);則輸出的曲;則輸出的曲面圖,效果有所不同。面圖,效果有所不同。%產(chǎn)生網(wǎng)格細(xì)度為產(chǎn)生網(wǎng)格細(xì)度為30的描述山峰特征的空間點(diǎn)的橫的描述山峰特征的空間點(diǎn)的橫坐標(biāo)、縱坐標(biāo)、立坐標(biāo)矩陣坐標(biāo)、縱坐標(biāo)、立坐標(biāo)矩陣%16個(gè)等距的水平平面與山峰相交,交線投影在平面上個(gè)等距的水平平面與山

溫馨提示

  • 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. 人人文庫(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)論