matlab基礎(chǔ)與應(yīng)用教程PPT課件_第1頁
matlab基礎(chǔ)與應(yīng)用教程PPT課件_第2頁
matlab基礎(chǔ)與應(yīng)用教程PPT課件_第3頁
matlab基礎(chǔ)與應(yīng)用教程PPT課件_第4頁
matlab基礎(chǔ)與應(yīng)用教程PPT課件_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

MATLAB基礎(chǔ)與應(yīng)用教程,授課人朱榮光單位石河子大學(xué)機(jī)械電氣工程學(xué)院,目錄,Matlab基礎(chǔ)知識(shí)4學(xué)時(shí)Matlab程序設(shè)計(jì)圖形繪制2學(xué)時(shí)線性代數(shù)中的數(shù)值計(jì)算2學(xué)時(shí)數(shù)據(jù)處理與多項(xiàng)式計(jì)算2學(xué)時(shí)數(shù)值微積分與常微分方程求解2學(xué)時(shí)符號(hào)計(jì)算2學(xué)時(shí)圖形句柄圖形用戶界面設(shè)計(jì)Simulink仿真環(huán)境Matlab應(yīng)用接口Matlab的學(xué)科應(yīng)用2學(xué)時(shí),第1章MATLAB基礎(chǔ)知識(shí),MATLAB是MathWorks公司開發(fā)的科學(xué)與工程計(jì)算軟件,它以矩陣運(yùn)算為基礎(chǔ),把計(jì)算、繪圖及動(dòng)態(tài)系統(tǒng)仿真等功能有機(jī)地融合在一起。同時(shí),它又具有程序設(shè)計(jì)語言的基本特征。目前,MATLAB在工程計(jì)算與數(shù)值分析、控制系統(tǒng)設(shè)計(jì)與仿真、信號(hào)處理、圖像處理、金融建模設(shè)計(jì)與分析等學(xué)科領(lǐng)域都有著十分廣泛的應(yīng)用。【本章學(xué)習(xí)目標(biāo)】了解MATLAB的特點(diǎn)和主要功能。熟悉啟動(dòng)和退出MATLAB的方法。熟悉MATLAB的操作環(huán)境。掌握建立矩陣的方法。掌握MATLAB數(shù)據(jù)對(duì)象的特點(diǎn)和基本的運(yùn)算規(guī)則。,1.1MATLAB的發(fā)展與主要功能MATrixLABoratory(矩陣實(shí)驗(yàn)室)1.1.1MATLAB的發(fā)展CleveMoler編寫的使用Linpack和Eispack的接口程序MATLAB1992MATLAB4.0版1997MATLAB5.0版2000年10月MATLAB6.0版2004年7月MATLAB7.0版2005年9月MATLAB7.1版隨后每年發(fā)布兩次以年份命名的版本,如R2006a(MATLAB7.2)、R2006b(MATLAB7.3)、R2007a(MATLAB7.4)、R2007b(MATLAB7.5)、R2008a(MATLAB7.6)和最新的版本R2008b(MATLAB7.7)。,1.1.2MATLAB的主要功能1數(shù)值計(jì)算和符號(hào)計(jì)算功能例如,求解線性方程組:在MATLAB命令窗口輸入命令:a=2,3,-1;3,-5,3;6,3,-8;b=7;8;9;x=inv(a)*b也可以通過符號(hào)計(jì)算來解此方程symsx1x2x3x1,x2,x3=solve(2*x1+3*x2-x3-7,3*x1-5*x2+3*x3-8,6*x1+3*x2-8*x3-9),2繪圖功能例如,分別繪制函數(shù)y=300sinx/x和y=x2的曲線x=-20:0.1:20;plot(x,300*sin(x)./x,:,x,x.2);,3程序設(shè)計(jì)語言功能MATLAB是解釋性語言,程序執(zhí)行速度較慢,而且不能脫離MATLAB環(huán)境而獨(dú)立運(yùn)行。MathWorks公司提供了將MATLAB源程序編譯為獨(dú)立于MATLAB集成環(huán)境運(yùn)行的EXE文件以及將MATLAB程序轉(zhuǎn)化為C語言程序的編譯器。4擴(kuò)展功能MATLAB包含兩部分內(nèi)容:基本部分和各種可選的工具箱?;静糠謽?gòu)成了MATLAB的核心內(nèi)容,也是使用和構(gòu)造工具箱的基礎(chǔ)。工具箱擴(kuò)展了MATLAB的功能。功能性工具箱學(xué)科性工具箱,1.2MATLAB的集成開發(fā)環(huán)境,1.2.1MATLAB操作界面1主窗口,2命令窗口命令窗口(CommandWindow)用于輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。一般來說,一個(gè)命令行輸入一條命令,命令行以回車結(jié)束。但一個(gè)命令行也可以輸入若干條命令,各命令之間以逗號(hào)分隔,若前一命令后帶有分號(hào),則逗號(hào)可以省略。例如:x=720,y=86x=720y=86x=720;y=86y=86,如果一個(gè)命令行很長(zhǎng),一個(gè)物理行之內(nèi)寫不下,可以在第1個(gè)物理行之后加上3個(gè)小黑點(diǎn)并按下回車鍵,然后接著下一個(gè)物理行繼續(xù)寫命令的其他部分。3個(gè)小黑點(diǎn)稱為續(xù)行符,即把下面的物理行看作該行的邏輯繼續(xù)。例如:z=1+1/(1*2)+1/(1*2*3)+1/(1*2*3*4)+1/(1*2*3*4*5),3工作空間窗口工作空間(Workspace)是MATLAB用于存儲(chǔ)各種變量和結(jié)果的內(nèi)存空間。4當(dāng)前目錄窗口對(duì)文件進(jìn)行有效的組織和管理當(dāng)前目錄(CurrentDirectory)是指MATLAB運(yùn)行時(shí)的工作目錄,只有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)才可以被運(yùn)行或調(diào)用。如果沒有特殊指明,數(shù)據(jù)文件也將存放在當(dāng)前目錄下。,5命令歷史窗口自動(dòng)保留自安裝起所有用過的命令的歷史記錄,并且還標(biāo)明了使用時(shí)間,從而方便用戶查詢。而且,通過雙擊命令可進(jìn)行歷史命令的再運(yùn)行。6Start按鈕,1.2.2MATLAB的搜索路徑,MATLAB的文件是通過不同的路徑進(jìn)行組織和管理的。當(dāng)用戶在命令窗口輸入一條命令后,MATLAB將按照下列順序搜索所輸入的命令。檢查該命令是不是一個(gè)變量。檢查該命令是不是一個(gè)內(nèi)部函數(shù)。檢查該命令是否為當(dāng)前目錄下的M文件。檢查該命令是否為MATLAB搜索路徑中其他目錄下的M文件。2設(shè)置搜索路徑(1)用path命令設(shè)置搜索路徑例如,將用戶目錄c:mydir加到搜索路徑下:path(path,e:matlabwork)(2)用對(duì)話框設(shè)置搜索路徑在MATLAB的File菜單中選擇SetPath命令或在命令窗口執(zhí)行pathtool命令,1.3MATLAB的幫助功能,1.3.1幫助界面進(jìn)入MATLAB幫助界面可以通過以下3種方法。單擊MATLAB主窗口工具欄中的Help按鈕。在命令窗口中輸入“helpwin”、“helpdesk”或“doc”命令。選擇Help菜單中的“MATLABHelp”選項(xiàng)。,1.3.2幫助命令1help命令help命令是查詢函數(shù)語法的最基本方法,查詢信息直接顯示在命令窗口。在命令窗口中直接輸入help命令將會(huì)顯示當(dāng)前幫助系統(tǒng)中所包含的所有項(xiàng)目,即搜索路徑中所有的目錄名稱。同樣,可以通過help加函數(shù)名來顯示該函數(shù)的幫助說明。例如,為了顯示magic函數(shù)的使用方法與功能helpmagic2lookfor命令help命令可以幫助用戶了解函數(shù)的用法。例如,輸入命令lookforfourier,3其他幫助命令,1.3.3演示系統(tǒng)在幫助窗口中選擇演示系統(tǒng)(Demos)選項(xiàng)卡,然后在其中選擇相應(yīng)的演示模塊,或者在命令窗口輸入“demos”,或者選擇主窗口“Help”菜單中的“Demos”子菜單,打開的演示系統(tǒng)如圖1.8所示。,1.4MATLAB的變量和數(shù)據(jù)操作,1.4.1變量與賦值1變量命名在MATLAB7.X中,變量名是以字母開頭,后接字母、數(shù)字或下畫線的字符序列,最多63個(gè)字符。例如x、x_1、xy12在MATLAB中,變量名區(qū)分字母的大小寫。例如addr、Addr和ADDR表示3個(gè)不同的變量。2賦值語句MATLAB賦值語句有兩種格式:(1)變量=表達(dá)式;(2)表達(dá)式在第1種語句形式下,MATLAB將右邊表達(dá)式的值賦給左邊的變量,而在第2種語句形式下,將表達(dá)式的值賦給MATLAB的預(yù)定義變量ans。在語句的最后加分號(hào),那么,MATLAB僅僅執(zhí)行賦值操作,不再顯示運(yùn)算的結(jié)果。注釋以%開頭,【例1.1】當(dāng)時(shí),計(jì)算表達(dá)式的值,并將結(jié)果賦給變量y,然后顯示出結(jié)果。在MATLAB命令窗口分別輸入命令:x=sqrt(1+pi);y=(exp(x)+log(abs(sin(x)2-sin(x*x)/(x-5*i)y=0.5690+1.3980i其中,pi和i都是MATLAB定義的變量,分別代表圓周率和虛數(shù)單位。,3預(yù)定義變量,1.4.2變量的管理1內(nèi)存變量的顯示與刪除顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。whowhoswhos在給出駐留變量名的同時(shí),還給出它們的維數(shù)、所占字節(jié)數(shù)以及變量的類型。刪除MATLAB工作空間中的變量clearMATLAB工作空間窗口專門用于內(nèi)存變量的管理。變量編輯器,2內(nèi)存變量文件利用MAT文件可以把當(dāng)前MATLAB工作空間中的一些有用變量長(zhǎng)久地保留下來。MAT文件是MATLAB保存數(shù)據(jù)的一種標(biāo)準(zhǔn)格式二進(jìn)制文件,擴(kuò)展名是.mat。MAT文件的生成和裝入save文件名變量名表-append-asciiload文件名變量名表-ascii假定變量a和b存在于MATLAB工作空間中,輸入以下命令便可將a和b保存于當(dāng)前目錄的mydata.mat文件中:savemydataab把mydata.mat中的內(nèi)容裝入MATLAB工作空間:loadmydata,1.4.3數(shù)據(jù)的輸出格式用“format”命令設(shè)置數(shù)據(jù)輸出格式format格式符“format”命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計(jì)算和存儲(chǔ)。例如輸入為x=4/31.2345e-6在各種不同的格式符下的輸出為短格式(short):1.33330.0000短格式e方式(shorte):1.333e+001.2345e-06長(zhǎng)格式(long):1.333333333333330.00000123450000長(zhǎng)格式e方式(longe):1.33333333333333e+0001.23450000000000e-006銀行格式(bank):1.330.00十六進(jìn)制格式(hex):3ff55555555555553eb4b6231abfd271+格式(+):+,1.5MATLAB矩陣及其基本運(yùn)算,1.5.1矩陣的生成在MATLAB中,生成矩陣時(shí)無須對(duì)矩陣的維數(shù)和類型進(jìn)行說明,MATLAB會(huì)根據(jù)用戶所輸入的內(nèi)容自動(dòng)進(jìn)行配置。1直接輸入法將矩陣的所有元素用方括號(hào)括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔。例如,輸入命令:A=1,2,3;4,5,6;7,8,9A=123456789矩陣元素也可以是表達(dá)式,MATLAB將自動(dòng)計(jì)算結(jié)果。例如:B=10,5-sqrt(7),sin(pi/2);7,4*8,abs(-7)在MATLAB中,矩陣元素可以是復(fù)數(shù)。例如,建立復(fù)數(shù)矩陣:B=1,2+7i,5*sqrt(2)*i;3,2/5,3.5+6i也可以分別建立實(shí)部矩陣和虛部矩陣,再合起來構(gòu)成復(fù)數(shù)矩陣。例如:R=1,2,3;4,5,6;I=1.1,2.2,3.3;4.4,5.5,6.6;ri=R+i*I,2利用M文件建立矩陣對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件【例1.2】利用M文件建立mydata矩陣。(1)啟動(dòng)有關(guān)文本編輯程序或MATLAB的M-file編輯器(見第2章),并輸入待建矩陣:mydata=1.11.21.31.41.51.61.71.81.9;2.12.22.32.42.52.62.72.82.9;3.13.23.33.43.53.63.73.83.9;(2)把輸入的內(nèi)容存盤(設(shè)文件名為matfund.m)。(3)在MATLAB命令窗口中輸入matfund,即運(yùn)行該M文件,就會(huì)自動(dòng)建立一個(gè)名為mydata的矩陣,可供以后使用。,3利用數(shù)據(jù)文件建立指定矩陣用戶能夠通過load命令,將外部數(shù)據(jù)文件中的內(nèi)容調(diào)入到工作空間中創(chuàng)建矩陣,外部文件的擴(kuò)展名為.dat。例如,利用文本編輯器創(chuàng)建一個(gè)數(shù)據(jù)文件test.dat,包含下列數(shù)據(jù):246863567325125在命令窗口輸入:loadtest.dattest運(yùn)行結(jié)果為,4利用已建好的矩陣建立更大的矩陣大矩陣可由已建好的小矩陣拼接而成。例如:A=1,2,3;4,5,6;7,8,9;B=11:13;14:16;17:19;A=1,2,3;4,5,6;7,8,9;C=A,B;B,A,1.5.2冒號(hào)表達(dá)式在MATLAB中利用冒號(hào)可以產(chǎn)生行向量。冒號(hào)表達(dá)式的一般格式為a:b:c其中,a為初始值,b為步長(zhǎng),c為終止值(ca)。冒號(hào)表達(dá)式可產(chǎn)生一個(gè)由a開始到c結(jié)束,以步長(zhǎng)b自增的行向量。例如:t=0:2:10t=0246810在MATLAB中,還可以用linspace函數(shù)產(chǎn)生行向量。其調(diào)用格式為linspace(a,b,n)其中a和b是生成向量的第1個(gè)和最后一個(gè)元素,n是元素總數(shù)。當(dāng)n省略時(shí),自動(dòng)產(chǎn)生100個(gè)元素。顯然,linspace(a,b,n)與a:(ba)/(n1):b等價(jià)。例如:x=linspace(0,10,6)x=0246810,1.5.3矩陣的拆分1矩陣元素對(duì)矩陣的單個(gè)元素操作。例如,如果想將矩陣A的第2行第3列的元素賦為76,則可以通過下面語句來完成:A(2,3)=76這時(shí)將只改變?cè)撛氐闹?,而不影響其他元素的值。在MATLAB中,也可以采用矩陣元素的序號(hào)來引用矩陣元素。矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。矩陣元素按列編號(hào),先第1列,再第2列,依次類推。例如:A=10,20,30;40,50,60;A(3)序號(hào)(Index)與下標(biāo)(Subscript)是一一對(duì)應(yīng)的,以mn矩陣A為例,矩陣元素A(i,j)的序號(hào)為(j1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。size(A)函數(shù)返回包含兩個(gè)元素的向量,分別是矩陣A的行數(shù)和列數(shù)length(A):給出行數(shù)和列數(shù)中的較大者,(1)利用冒號(hào)表達(dá)式獲得子矩陣A(m,n)表示取A矩陣第m行、第n列的元素,A(m,:)表示取A矩陣第m行的全部元素,A(:,n)表示取A矩陣的第n列全部元素。A(m1:m2,:)表示取A矩陣第m1m2行的全部元素,A(:,n1:n2)表示取A矩陣第n1n2列的全部元素,A(m1:m2,n1:n2)表示取A矩陣第m1m2行內(nèi),并在第n1n2列中的所有元素。A(:)將矩陣A每一列元素堆疊起來,成為一個(gè)列向量,(2)利用空矩陣刪除矩陣的元素在MATLAB中,空矩陣是指無任何元素的矩陣,表示形式為。給變量x賦空矩陣的語句為x=將某些元素從矩陣中刪除,采用將其置為空矩陣的方法就是一種有效的方法。例如:A=123456;789101112;131415161718;A(:,24)=其中第2條命令將刪除A的第2列和第4列元素。,1.5.4算術(shù)運(yùn)算1基本算術(shù)運(yùn)算MATLAB的基本算術(shù)運(yùn)算有:+(加)、(減)、*(乘)、/(右除)、(左除)、(乘方)。(1)矩陣加減運(yùn)算運(yùn)算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運(yùn)算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。一個(gè)標(biāo)量也可以和其他不同維數(shù)的矩陣進(jìn)行加減運(yùn)算。例如:x=2,-1,0;3,2,-4;y=x-1;y=y+x,(2)矩陣乘法矩陣A和B進(jìn)行乘法運(yùn)算,要求A的列數(shù)與B的行數(shù)相等,或稱A和B兩矩陣維數(shù)相容。如果兩者的維數(shù)不相容,則將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣是不可乘的。例如:A=1,2,3;4,5,6;B=A*A?Errorusing=mtimesInnermatrixdimensionsmustagree.在MATLAB中,還可以進(jìn)行矩陣和標(biāo)量相乘,標(biāo)量可以是乘數(shù)也可以是被乘數(shù)。矩陣和標(biāo)量相乘是矩陣中的每個(gè)元素與此標(biāo)量相乘。(3)矩陣除法在MATLAB中,有兩種矩陣除法運(yùn)算:和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則AB和B/A運(yùn)算可以實(shí)現(xiàn)。AB等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。(4)矩陣的乘方一個(gè)矩陣的乘方運(yùn)算可以表示成Ax,要求A為方陣,x為標(biāo)量。,2點(diǎn)運(yùn)算兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維參數(shù)相同。點(diǎn)運(yùn)算符有.*、./、.和.。例如:A=1,2,3;4,5,6;7,8,9;B=-1,0,1;1,-1,0;0,1,1;C=A.*BC=-1034-50089如果A、B兩矩陣具有相同的維數(shù),則A./B表示A矩陣除以B矩陣的對(duì)應(yīng)元素。B.A等價(jià)于A./B。,3MATLAB常用數(shù)學(xué)函數(shù),(1)函數(shù)的自變量規(guī)定為矩陣變量,運(yùn)算法則是將函數(shù)逐項(xiàng)作用于矩陣的元素上,因而運(yùn)算的結(jié)果是一個(gè)與自變量同維數(shù)的矩陣。例如:y=sin(0:pi/2:2*pi)y=01.00000.0000-1.0000-0.0000y=abs(y)y=01.00000.00001.00000.0000(2)abs函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值。x=-3.14,3+4i;abs(x)ans=3.14005.0000,(3)用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。例如:x=fix(13.37),floor(13.37),ceil(13.37),round(13.37)x=13131413x=fix(-13.67),floor(-13.67),ceil(-13.67),round(-13.67)x=-13-14-13-14(4)rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實(shí)矩陣或?yàn)闃?biāo)量。當(dāng)y0時(shí),rem(x,y)=xy.*fix(x./y),而mod(

溫馨提示

  • 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)論