第一講 吳云峰 DalianAug 11_第1頁(yè)
第一講 吳云峰 DalianAug 11_第2頁(yè)
第一講 吳云峰 DalianAug 11_第3頁(yè)
第一講 吳云峰 DalianAug 11_第4頁(yè)
第一講 吳云峰 DalianAug 11_第5頁(yè)
已閱讀5頁(yè),還剩54頁(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)介

Matlab

程序設(shè)計(jì)與應(yīng)用

(Matlabprogramdesign)

Yun-fengWu(吳云峰)

SchoolofPhysicsandMaterialsEngineering,DalianNationalitiesUniversityyfwu@

1/31/2023Outline課程編號(hào):09302112課程類(lèi)別:學(xué)科基礎(chǔ)選修課適用層次:本科適用專(zhuān)業(yè):光電子技術(shù)科學(xué)專(zhuān)業(yè)開(kāi)課學(xué)期:第五學(xué)期學(xué)分:3學(xué)時(shí):56學(xué)時(shí)(理論課32學(xué)時(shí),實(shí)驗(yàn)課24學(xué)時(shí))成績(jī)?cè)u(píng)定:考勤20%,作業(yè)成績(jī)80%。課程簡(jiǎn)介

MATLAB程序設(shè)計(jì)及應(yīng)用是光電子技術(shù)科學(xué)專(zhuān)業(yè)的學(xué)科基礎(chǔ)選修課之一,MATLAB是MathWorks公司開(kāi)發(fā)的一套高性能的數(shù)值計(jì)算和可視化的仿真軟件。它基于矩陣運(yùn)算,集數(shù)值計(jì)算、圖形顯示、圖形界面設(shè)計(jì)等功能和模糊邏輯等30多個(gè)專(zhuān)業(yè)工具箱于一體,具有極強(qiáng)大的計(jì)算功能和極高的編程效率,特別適合于科學(xué)計(jì)算、數(shù)值分析、系統(tǒng)仿真和信號(hào)處理等任務(wù),包括Windows圖形用戶界面的設(shè)計(jì)。使用MatLab可以很容易地實(shí)現(xiàn)C或FORTRAN語(yǔ)言的幾乎全部功能,是專(zhuān)業(yè)課程學(xué)習(xí)和本科畢業(yè)論文設(shè)計(jì)中常用的一個(gè)有效的工具。我們開(kāi)設(shè)這門(mén)課注重理論與實(shí)驗(yàn)相結(jié)合,并配有上機(jī)實(shí)踐,注重與有關(guān)學(xué)科領(lǐng)域的結(jié)合,突出應(yīng)用。廣泛地應(yīng)用于航空航天、國(guó)防工業(yè)、汽車(chē)工業(yè)、電信行業(yè)、計(jì)算機(jī)外設(shè)開(kāi)發(fā)、教育、科學(xué)研究、金融財(cái)務(wù)、管理科學(xué)等領(lǐng)域,是當(dāng)今全世界最流行的第四代計(jì)算機(jī)語(yǔ)言。參考教材:MATLAB程序設(shè)計(jì)及應(yīng)用參考書(shū)目:《Matlab程序設(shè)計(jì)與應(yīng)用》,劉衛(wèi)國(guó)主編,高等教育出版社/2006.7第二版《精通MATLAB6.5版》,張志涌,北京航空航天大學(xué)出版社/2003.3《Matlab基礎(chǔ)及數(shù)學(xué)軟件》,陽(yáng)明盛等編著,大連理工大學(xué)出版社/2003《數(shù)值方法和MATLAB實(shí)現(xiàn)與應(yīng)用》,拉克唐瓦爾德(美),機(jī)械工業(yè)出版社/2004.9特點(diǎn):完全不必具備其它語(yǔ)言的基礎(chǔ),各年級(jí)各專(zhuān)業(yè)的同學(xué)都可選修。教學(xué)基本要求1.了解Matlab語(yǔ)言特點(diǎn)、熟悉Matlab視窗環(huán)境、掌握Matlab幫助功能的基本使用方法。2.掌握Matlab中程序設(shè)計(jì)中語(yǔ)句,重點(diǎn)學(xué)習(xí)其數(shù)值計(jì)算功能。初步具有將一般數(shù)學(xué)問(wèn)題轉(zhuǎn)化為計(jì)算模型的能力,并能夠使用常用的幾種常用的函數(shù)進(jìn)行簡(jiǎn)單的問(wèn)題求解。3.搞清符號(hào)變量和符號(hào)表達(dá)式的定義,并能用符號(hào)運(yùn)算解決一般的微積分和方程求解問(wèn)題。掌握Matlab程序設(shè)計(jì)的幾種基本控制轉(zhuǎn)移語(yǔ)句,學(xué)會(huì)使用數(shù)組和簡(jiǎn)單M文件的編程,了解類(lèi)和對(duì)象的概念。4.掌握二維平面圖形和三維立體圖形的繪制方法,進(jìn)行數(shù)據(jù)可視化處理。理解用戶圖形界面程序的構(gòu)造,掌握編程方法。第1章MATLAB系統(tǒng)環(huán)境1.1MATLAB概貌

1.2MATLAB環(huán)境的準(zhǔn)備

1.3MATLAB操作界面

1.4MATLAB幫助系統(tǒng)1.1MATLAB概貌20世紀(jì)70年代中期,CleveMoler和其同事在美國(guó)國(guó)家科學(xué)基金的資助下研究開(kāi)發(fā)了調(diào)用LINPACK和EISPACK子程序庫(kù)。并于1984年編寫(xiě)了便于使用LINPACK和EISPACK的接口程序,并將該程序取名為MatLab。由美國(guó)MathWorks公司推向市場(chǎng)以來(lái),現(xiàn)已成為國(guó)際公認(rèn)的最優(yōu)秀的工程應(yīng)用開(kāi)發(fā)環(huán)境。MatLab功能強(qiáng)大、簡(jiǎn)單易學(xué)、編程效率高,深受廣大科技工作者的歡迎。MatrixLaboratoryCleveMoler博士1.1.1MATLAB的發(fā)展歷程1984年,MATLAB第1版(DOS版)1992年,MATLAB4.0版1994年,MATLAB4.2版1997年,MATLAB5.0版1999年,MATLAB5.3版2000年,MATLAB6.0版2001年,MATLAB6.1版2002年,MATLAB6.5版2004年,MATLAB7.0版20067.220077.320083.1MATLAB7.6/products/matlab/whatsnew.html2008.10.9

MATLAB2008a2009.03.6

MATLAB2009a/products/new_products/latest_features.html

MATLAB語(yǔ)言與其它語(yǔ)言的關(guān)系仿佛和C語(yǔ)言與匯編語(yǔ)言的關(guān)系一樣計(jì)算機(jī)語(yǔ)言的發(fā)展數(shù)值運(yùn)算解析運(yùn)算管理、可視化智能化標(biāo)志著計(jì)算機(jī)語(yǔ)言向“智能化”方向發(fā)展,被稱(chēng)為第四代編程語(yǔ)言。MATALB應(yīng)用領(lǐng)域工業(yè)研究與開(kāi)發(fā)數(shù)學(xué)教學(xué),特別是線性代數(shù)數(shù)值分析和科學(xué)計(jì)算方面的教學(xué)與研究電子學(xué)、控制理論和物理學(xué)等工程和科學(xué)學(xué)科方面的教學(xué)與研究經(jīng)濟(jì)學(xué)、化學(xué)和生物學(xué)等計(jì)算問(wèn)題的所有其他領(lǐng)域中的教學(xué)與研究1.1.2MATLAB的主要功能1.?dāng)?shù)值計(jì)算和符號(hào)計(jì)算功能

MATLAB以矩陣作為數(shù)據(jù)操作的基本單位,還提供了十分豐富的數(shù)值計(jì)算函數(shù)。MATLAB和著名的符號(hào)計(jì)算語(yǔ)言Maple相結(jié)合,使得MATLAB具有符號(hào)計(jì)算功能。其中包括矩陣運(yùn)算、多項(xiàng)式和有理分式運(yùn)算、數(shù)據(jù)統(tǒng)計(jì)分析、數(shù)值積分、優(yōu)化處理等。符號(hào)計(jì)算可以得到問(wèn)題的解析解。

2.繪圖功能MatLab提供了兩個(gè)層次的圖形命令:一種是對(duì)圖形句柄進(jìn)行的低級(jí)圖形命令,另一種是建立在低級(jí)圖形命令之上的高級(jí)圖形命令。利用MatLab的高級(jí)圖形命令可以輕而易舉地繪制二維、三維,并可進(jìn)行圖形和坐標(biāo)的標(biāo)識(shí)、視角和色彩精細(xì)控制等操作。

3.編程語(yǔ)言

MATLAB具有程序結(jié)構(gòu)控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入/輸出、面向?qū)ο蟮瘸绦蛘Z(yǔ)言特征,而且簡(jiǎn)單易學(xué)、編程效率高。

4.MATLAB工具箱

MATLAB包含兩部分內(nèi)容:基本部分和各種可選的工具箱。

MATLAB工具箱分為兩大類(lèi):功能性工具箱和學(xué)科性工具箱。目前MatLab已擁有數(shù)十個(gè)工具箱,控制系統(tǒng)工具箱、信號(hào)處理工具箱、神經(jīng)網(wǎng)絡(luò)工具箱、最優(yōu)化工具箱、金融工具箱偏微分方程工具箱等…。1.1.3MATLAB功能演示繪制函數(shù)曲線。

x=-2*pi:pi/180:2*pi;plot(x,2.^(-abs(x)),':',x,sin(x));(1)zeros:生成元素全部為0的矩陣。B=zeros(3,4)B=000000000000(2)ones:生成元素全部為1的矩陣。C=ones(2,5)C=1111111111(3)rand:生成均勻分布隨機(jī)元素矩陣。D=rand(3,5)D=0.95010.48600.45650.44470.92180.23110.89130.01850.61540.73820.60680.76210.82140.79190.1763生成矩陣用矩陣求逆方法求解線性方程組在線性方程組Ax=b兩邊各左乘A-1,有A-1Ax=A-1b由于A-1A=I,故得x=A-1b例用求逆矩陣的方法解線性方程組。命令如下:A=[1,2,3;1,4,9;1,8,27];b=[5,-2,6]';x=inv(A)*b

也可以運(yùn)用左除運(yùn)算符“\”求解線性代數(shù)方程組。>>A=[1,2,3;1,4,9;1,8,27];b=[5,-2,6]';x=inv(A)*bx=23.0000-14.50003.6667>>A=[1,2,3;1,4,9;1,8,27];b=[5,-2,6]';x=A\bx=23.0000-14.50003.66672.求解線性方程組>>a=[2,3,-1;8,2,3;45,3,9];b=[2;4;23];x=inv(a)*bx=0.55310.2051-0.2784求不定積分命令如下:x=sym('x');f=(3-x^2)^3;int(f)%求不定積分(1)f=sqrt(x^3+x^4);int(f)%求不定積分(2)g=simple(ans)%調(diào)用simple函數(shù)對(duì)結(jié)果化簡(jiǎn)3.MatLab矩陣符號(hào)積分求:積分指令對(duì)符號(hào)函數(shù)矩陣的作用。symsabx;f=[a*x,b*x^2;1/x,sin(x)];disp('Theintegraloffis');int(f)

Theintegraloffis

[1/2*a*x^2,1/3*b*x^3][log(x),-cos(x)]MatLab三維云圖MatLab

圖形舉例考慮一個(gè)二元函數(shù)

如何用三維圖形的方式表現(xiàn)出這個(gè)曲面?

>>[x,y]=meshgrid(-3:1/8:3);

z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5)...

.*exp(-x.^2-y.^2)-1/3*exp(-(x+1).^2-y.^2);

surf(x,y,z),shadinginterp;colorbarMatLab三維云圖用四種方法描述cos(x)*sin(y)圖形分別以條形圖、填充圖、階梯圖和桿圖形式繪制曲線y=2e-0.5x。程序如下:

x=0:0.35:7;y=2*exp(-0.5*x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');axis([0,7,0,2]);subplot(2,2,2);fill(x,y,'r');title('fill(x,y,''r'')');axis([0,7,0,2]);subplot(2,2,3);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0,7,0,2]);subplot(2,2,4);stem(x,y,'k');title('stem(x,y,''k'')');axis([0,7,0,2]);MatLab繪圖——透視效果[X0,Y0,Z0]=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shadinginterpholdon,mesh(X,Y,Z),colormap(hot),holdoffhiddenoffaxisequal,axisoff

透視效果

MatLab繪圖——鏤空效果鏤空

效果t=linspace(0,2*pi,100);r=1-exp(-t/2).*cos(4*t);[X,Y,Z]=cylinder(r,60);ii=find(X<0&Y<0);Z(ii)=NaN;surf(X,Y,Z);colormap(spring),shadinginterplight('position',[-3,-1,3],'style','local')material([0.5,0.4,0.3,10,0.3])

MatLab繪圖——鏤空效果P=peaks(30);P(18:20,9:15)=NaN;surfc(P);colormap(summer)light('position',[50,-10,5]),lightingflatmaterial([0.9,0.9,0.6,15,0.4])

鏤空

效果MatLab多維切割效果clf;[X,Y,Z,V]=flow;x1=min(min(min(X)));x2=max(max(max(X)));y1=min(min(min(Y)));y2=max(max(max(Y)));z1=min(min(min(Z)));z2=max(max(max(Z)));sx=linspace(x1+1.2,x2,5);sy=0;sz=0;slice(X,Y,Z,V,sx,sy,sz);view([-33,36]);shadinginterp;colormapjet;%alpha('color')alphamap('rampdown')alphamap('increase',.1)colorbar axisoff

MatLab繪圖——光照光照處理MatLab繪圖——濃淡變化濃淡處理

1.2MATLAB環(huán)境的準(zhǔn)備1.2.1MATLAB的安裝

安裝MATLAB7.0系統(tǒng),需運(yùn)行系統(tǒng)自帶的安裝程序setup.exe。運(yùn)行后,將進(jìn)入MATLAB安裝程序的歡迎對(duì)話框(WelcometotheMathWorksInstaller),用戶可以按照安裝提示依次操作。1.2.2MATLAB的啟動(dòng)與退出

1.MATLAB系統(tǒng)的啟動(dòng)

啟動(dòng)MATLAB系統(tǒng)有3種常見(jiàn)方法:

(1)在Windows桌面,單擊任務(wù)欄上的“開(kāi)始”按鈕,選擇“程序”菜單項(xiàng),然后選擇“MATLAB7.0”程序選項(xiàng)。

(2)運(yùn)行MATLAB系統(tǒng)啟動(dòng)程序matlab.exe。

(3)利用快捷方式。2.MATLAB系統(tǒng)的退出

要退出MATLAB系統(tǒng),也有3種常見(jiàn)方法:

(1)在MATLAB主窗口File菜單中選擇ExitMATLAB命令。

(2)在MATLAB命令窗口輸入Exit或Quit命令。

(3)單擊MATLAB主窗口的“關(guān)閉”按鈕。

1.3MATLAB操作界面

1.3.1主窗口

MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,還主要包括菜單欄和工具欄。

在MATLAB7.0主窗口的菜單欄,包含F(xiàn)ile、Edit、Debug、Desktop、Window和Help共6個(gè)菜單項(xiàng)。MATLAB7.0主窗口的工具欄共提供了12個(gè)命令按鈕和一個(gè)當(dāng)前路徑列表框。1、MATLAB菜單項(xiàng)File(文件)菜單Edit(編輯)菜單Debug(程序調(diào)試)菜單Desktop(設(shè)置Matlab集成環(huán)境的顯示方式)菜單Window(窗口)菜單Help(幫助)菜單Matlab工作環(huán)境界面Matlab工作環(huán)境界面2、MATLAB工具欄

用MATLAB的M文件編輯器新建一個(gè)M文件;用MATLAB編輯器打開(kāi)一個(gè)文件;將選中的內(nèi)容剪切到剪貼板;將選中的內(nèi)容復(fù)制到剪貼板;將剪貼板中的內(nèi)容粘貼到光標(biāo)指定的位置;撤消最近一次的操作;打開(kāi)Simulink瀏覽器;打開(kāi)MATLAB幫助窗口。當(dāng)前工作路徑1.3.2命令窗口

命令窗口是MATLAB的主要交互窗口,用于輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。

MATLAB命令窗口中的“>>”為命令提示符,表示MATLAB正在處于準(zhǔn)備狀態(tài)。在命令提示符后鍵入命令并按下回車(chē)鍵后,MATLAB就會(huì)解釋執(zhí)行所輸入的命令,并在命令后面給出計(jì)算結(jié)果。一般來(lái)說(shuō),一個(gè)命令行輸入一條命令,命令行以回車(chē)結(jié)束。但一個(gè)命令行也可以輸入若干條命令,各命令之間以逗號(hào)分隔,若前一命令后帶有分號(hào),則逗號(hào)可以省略。例如

p=15,m=35

p=15;m=35

如果一個(gè)命令行很長(zhǎng),一個(gè)物理行之內(nèi)寫(xiě)不下,可以在第一個(gè)物理行之后加上3個(gè)小黑點(diǎn)并按下回車(chē)鍵,然后接著下一個(gè)物理行繼續(xù)寫(xiě)命令的其他部分。3個(gè)小黑點(diǎn)稱(chēng)為續(xù)行符,即把下面的物理行看作該行的邏輯繼續(xù)。

在MATLAB里,有很多的控制鍵和方向鍵可用于命令行的編輯。MATLAB通用命令1.3.3工作空間窗口

工作空間是MATLAB用于存儲(chǔ)各種變量和結(jié)果的內(nèi)存空間。在該窗口中顯示工作空間中所有變量的名稱(chēng)、大小、字節(jié)數(shù)和變量類(lèi)型說(shuō)明,可對(duì)變量進(jìn)行觀察、編輯、保存和刪除。1.3.4當(dāng)前目錄窗口和搜索路徑

1.當(dāng)前目錄窗口

當(dāng)前目錄是指MATLAB運(yùn)行文件時(shí)的工作目錄,只有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)可以被運(yùn)行或調(diào)用。

在當(dāng)前目錄窗口中可以顯示或改變當(dāng)前目錄,還可以顯示當(dāng)前目錄下的文件并提供搜索功能。

將用戶目錄設(shè)置成當(dāng)前目錄也可使用cd命令。例如,將用戶目錄c:\mydir設(shè)置為當(dāng)前目錄,可在命令窗口輸入命令:

cdc:\mydir2.MATLAB的搜索路徑

當(dāng)用戶在MATLAB命令窗口輸入一條命令后,MATLAB按照一定次序?qū)ふ蚁嚓P(guān)的文件。基本的搜索過(guò)程是:

(1)檢查該命令是不是一個(gè)變量。

(2)檢查該命令是不是一個(gè)內(nèi)部函數(shù)。

(3)檢查該命令是否當(dāng)前目錄下的M文件。

(4)檢查該命令是否MATLAB搜索路徑中其他目錄下的M文件。用戶可以將自己的工作目錄列入MATLAB搜索路徑,從而將用戶目錄納入MATLAB系統(tǒng)統(tǒng)一管理。設(shè)置搜索路徑的方法有:

(1)用path命令設(shè)置搜索路徑。例如,將用戶目錄c:\mydir加到搜索路徑下,可在命令窗口輸入命令:

path(path,’c:\mydir’)(2)用對(duì)話框設(shè)置搜索路徑

在MAT

溫馨提示

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