《數(shù)學(xué)建模matlab》PPT課件.ppt
《《數(shù)學(xué)建模matlab》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)學(xué)建模matlab》PPT課件.ppt(49頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、數(shù)學(xué)模型Mathematical Model,(matlab) 主講:周仲禮 2012年4月,2,MATLAB程序設(shè)計(jì),MATLAB作為線性系統(tǒng)的一種分析和仿真工具,是理工科大學(xué)生應(yīng)該掌握的技術(shù)工具,它作為一種編程語言和可視化工具,可解決工程、科學(xué)計(jì)算和數(shù)學(xué)學(xué)科中許多問題。 MATLAB建立在向量、數(shù)組和矩陣的基礎(chǔ)上,使用方便,人機(jī)界面直觀,輸出結(jié)果可視化。 矩陣是MATLAB的核心 MATLAB的進(jìn)入與運(yùn)行方式(兩種),3,MATLAB程序運(yùn)行方式一,4,MATLAB程序運(yùn)行方式二,5,MATLAB程序界面,6,MATLAB入門,一、變量與函數(shù) 二、數(shù)組 三、矩陣 四、MATLAB編程 五、
2、實(shí)驗(yàn)作業(yè),7,一、變量與函數(shù),1、變量 MATLAB中變量的命名規(guī)則是: (1)變量名必須是不含空格的單個(gè)詞; (2)變量名區(qū)分大小寫; (3)變量名最多不超過19個(gè)字符; (4)變量名必須以字母打頭,之后可以是任意字母、數(shù)字或下劃線,變量名中不允許使用標(biāo)點(diǎn)符號(hào).,8,特殊變量表,9,一、變量與函數(shù),2、數(shù)學(xué)運(yùn)算符號(hào)及標(biāo)點(diǎn)符號(hào) (1)MATLAB的每條命令后,若為逗號(hào)或無標(biāo)點(diǎn)符號(hào),則顯示命令的結(jié)果;若命令后為分號(hào),則禁止顯示結(jié)果. (2)“%” 后面所有文字為注釋. (3) “...”表示續(xù)行.,10,一、變量與函數(shù),3、數(shù)學(xué)函數(shù),11,一、變量與函數(shù),4、M文件 MATLAB的內(nèi)部函數(shù)是
3、有限的,有時(shí)為了研究某一個(gè)函數(shù)的各種性態(tài),需要為MATLAB定義新函數(shù),為此必須編寫函數(shù)文件. 函數(shù)文件是文件名后綴為M的文件,這類文件的第一行必須是一特殊字符function開始,格式為: function 因變量名=函數(shù)名(自變量名) 函數(shù)值的獲得必須通過具體的運(yùn)算實(shí)現(xiàn),并賦給因變量. M文件建立方法:1. 在Matlab中,點(diǎn):File-New-M-file; 2. 在編輯窗口中輸入程序內(nèi)容;3. 點(diǎn):File-Save,存盤,M文件名必須與函數(shù)名一致。 Matlab的應(yīng)用程序也以M文件保存。,12,二、數(shù)組,1、創(chuàng)建簡(jiǎn)單的數(shù)組 x=a b c d e f 創(chuàng)建包含指定元
4、素的行向量 x=first:last 創(chuàng)建從first開始,加1計(jì)數(shù),到last結(jié)束的行向量 x=first:increment:last 創(chuàng)建從first開始,加increment計(jì)數(shù),last結(jié)束的行向量 x=linspace(first,last,n) 創(chuàng)建從first開始,到last結(jié)束,有n個(gè)元素的行向量 x=logspace(first,last,n) 創(chuàng)建從開始,到結(jié)束,有n個(gè)元素的對(duì)數(shù)分隔行向量.,13,二、數(shù)組,2、 數(shù)組元素的訪問 (1)訪問一個(gè)元素: x(i)表示訪問數(shù)組x的第i個(gè)元素. (2)訪問一塊元素: x(a :b :c)表示訪問數(shù)組x的從第a個(gè)元
5、素開始,以步長(zhǎng)為b到第c個(gè)元素(但不超過c),b可以為負(fù)數(shù),b缺損時(shí)為1. (3)直接使用元素編址序號(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). 3、數(shù)組的方向 前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的. 稱之為行向量. 數(shù)組也可以是列向量,它的數(shù)組操作和運(yùn)算與行向量是一樣的,唯一的區(qū)別是結(jié)果以列形式顯示.,14,二、數(shù)組,產(chǎn)生列向量有兩種方法: 直接產(chǎn)生 例 c=1;2;3;4 轉(zhuǎn)置產(chǎn)生 例 b=1 2 3 4; c=b 說明:以空格或逗號(hào)分隔的元素指定的是不同列的元素,而以分號(hào)分隔的元素指定了不同行
6、的元素. 4、數(shù)組的運(yùn)算 (1)標(biāo)量-數(shù)組運(yùn)算 數(shù)組對(duì)標(biāo)量的加、減、乘、除、乘方是數(shù)組的每個(gè)元素對(duì)該標(biāo)量施加相應(yīng)的加、減、乘、除、乘方運(yùn)算.,15,二、數(shù)組,設(shè):a=a1,a2,,an, c=標(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/a1,c/a2,,c/an (左除) a.c= a1c,a2c,,anc c.a= ca1,ca2,,can (2)數(shù)組-數(shù)組運(yùn)算 當(dāng)兩個(gè)數(shù)組有相同維數(shù)時(shí),加、減、乘、除、冪運(yùn)算可按元素對(duì)元素方式進(jìn)行的,不同大小或維數(shù)的數(shù)組是不
7、能進(jìn)行運(yùn)算的.,16,二、數(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 a.b=b1/a1,b2/a2,,bn/an a.b=a1b1,a2b2,,anbn,17,三、矩陣,1、矩陣的建立 逗號(hào)或空格用于分隔某一行的元素,分號(hào)用于區(qū)分不同的行. 除了分號(hào),在輸入矩陣時(shí),按Enter鍵也表示開始一新行. 輸入矩陣時(shí),嚴(yán)格要求所有行有相同的列. 例 m=1 2 3 4 ;5 6 7 8;9 10 11 12
8、 p=1 1 1 1 2 2 2 2 3 3 3 3 特殊矩陣的建立: a= 產(chǎn)生一個(gè)空矩陣,當(dāng)對(duì)一項(xiàng)操作無結(jié)果時(shí),返回空矩陣,空矩陣的大小為零.,18,三、矩陣,b=zeros(m,n) 產(chǎn)生一個(gè)m行、n列的零矩陣 c=ones(m,n) 產(chǎn)生一個(gè)m行、n列的元素全為1的矩陣 d=eye(m,n) 產(chǎn)生一個(gè)m行、n列的單位矩陣 2、矩陣中元素的操作 (1)矩陣A的第r行:A(r,:) (2)矩陣A的第r列:A(:,r) (3)依次提取矩陣A每1列,將A拉伸為一個(gè)列向量:A(:) (4)取矩陣A的第i1i2行、第j1j2列構(gòu)成新矩陣:A(i1:i2, j1:j2)
9、 (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,:)= ,19,三、矩陣,(8)刪除A的第j1j2列,構(gòu)成新矩陣:A(:, j1:j2)= (9)將矩陣A和B拼接成新矩陣:A B;A;B 3、矩陣的運(yùn)算 (1)標(biāo)量-矩陣運(yùn)算 同標(biāo)量-數(shù)組運(yùn)算。 (2)矩陣-矩陣運(yùn)算 1 元素對(duì)元素的運(yùn)算,同數(shù)組-數(shù)組運(yùn)算。 2矩陣運(yùn)算: 矩陣加法:A+B 矩陣乘法:A*B 方陣的行列式:det(A) 方陣的逆:inv(A)
10、方陣的特征值與特征向量:V,D=eigA,20,四、關(guān)系與邏輯運(yùn)算,1、關(guān)系操作符,21,四、關(guān)系與邏輯運(yùn)算,2、邏輯運(yùn)算符,22,五、控制流,MATLAB提供三種決策或控制流結(jié)構(gòu): for循環(huán)、while循環(huán)、if-else-end結(jié)構(gòu). 這些結(jié)構(gòu)經(jīng)常包含大量的MATLAB命令,經(jīng)常出現(xiàn)在MATLAB程序中,而不是直接加在MATLAB提示符下. 1、for循環(huán):允許一組命令以固定的和預(yù)定的次數(shù)重復(fù) for x=array commands end 在for和end語句之間的命令串commands按數(shù)組(array)中的每一列執(zhí)行一次. 在每一次迭代中,x被指定為數(shù)組
11、的下一列,即在第n次循環(huán)中,x=array(:,n),23,五、控制流,2、While循環(huán) 與for循環(huán)以固定次數(shù)求一組命令相反,while循環(huán)以不定的次數(shù)求一組語句的值. while expression commands end 只要在表達(dá)式(expression)里的所有元素為真,就執(zhí)行while和end語句之間的命令串commands. 例 設(shè)銀行年利率為11.25%。將10000元錢存入銀行,問多長(zhǎng)時(shí)間會(huì)連本帶利翻一番?,例 對(duì)n=1,2,,10,求xn= 的值,24,五、控制流,3、If-Else-End結(jié)構(gòu) (1)有一個(gè)選擇的一般形式是: if e
12、xpression commands end 如果在表達(dá)式(expression)里的所有元素為真,就執(zhí)行if和end語句之間的命令串commands. 先建立M文件fun1.m定義函數(shù)f(x),再在Matlab命令窗口輸入fun1(2),fun1(-1)即可。,25,五、控制流,2) 有三個(gè)或更多的選擇的一般形式是: if (expression1) commands1 else if (expression2) commands2 else if (expression3) commands3 else
13、 if else commands end end end end,26,六、MATLAB作圖二維圖形,1.曲線圖 Matlab作圖是通過描點(diǎn)、連線來實(shí)現(xiàn)的,故在畫一個(gè)曲線圖形之前,必須先取得該圖形上的一系列的點(diǎn)的坐標(biāo)(即橫坐標(biāo)和縱坐標(biāo)),然后將該點(diǎn)集的坐標(biāo)傳給Matlab函數(shù)畫圖.,命令為: PLOT(X,Y,S),X,Y是向量,分別表示點(diǎn)集的橫坐標(biāo)和縱坐標(biāo),,,線型,y 黃色 . 點(diǎn) - 連線 m 洋紅 o 圈 : 短虛線 c 藍(lán)綠色 x x-符號(hào) -. 長(zhǎng)短線 r 紅色 + 加號(hào) -- 長(zhǎng)虛線,27,六、M
14、ATLAB作圖二維圖形,PLOT(X,Y)--畫實(shí)線 PLOT(X,Y1,S1,X,Y2,S2,,X,Yn,Sn) --將多條線畫在一起 例 在0,2*pi用紅線畫sin(x),用綠圈畫cos(x). 解:x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,r,x,z,g0),28,六、MATLAB作圖二維圖形,2.符號(hào)函數(shù)(顯函數(shù)、隱函數(shù)和參數(shù)方程)畫圖 (1) ezplot ezplot(f(x),a,b) 表示在a 15、) 表示在xmin 16、n指定的函數(shù)在lims=xmin,xmax的圖形.,30,六、MATLAB作圖二維圖形,3. 對(duì)數(shù)坐標(biāo)圖 在很多工程問題中,通過對(duì)數(shù)據(jù)進(jìn)行對(duì)數(shù)轉(zhuǎn)換可以更清晰地看出數(shù)據(jù)的某些特征,在對(duì)數(shù)坐標(biāo)系中描繪數(shù)據(jù)點(diǎn)的曲線,可以直接地表現(xiàn)對(duì)數(shù)轉(zhuǎn)換.對(duì)數(shù)轉(zhuǎn)換有雙對(duì)數(shù)坐標(biāo)轉(zhuǎn)換和單軸對(duì)數(shù)坐標(biāo)轉(zhuǎn)換兩種.用loglog函數(shù)可以實(shí)現(xiàn)雙對(duì)數(shù)坐標(biāo)轉(zhuǎn)換,用semilogx和semilogy函數(shù)可以實(shí)現(xiàn)單軸對(duì)數(shù)坐標(biāo)轉(zhuǎn)換. loglog(Y) 表示 x、y坐標(biāo)都是對(duì)數(shù)坐標(biāo)系 semilogx(Y) 表示 x坐標(biāo)軸是對(duì)數(shù)坐標(biāo)系 semilogy() 表示y坐標(biāo)軸是對(duì)數(shù)坐標(biāo)系 plotyy 有兩個(gè)y坐標(biāo)軸,一個(gè)在左邊,一個(gè)在 17、右邊,31,六、MATLAB作圖特殊二維圖形,1、極坐標(biāo)圖:polar (theta,rho,s) 用角度theta(弧度表示)和極半徑rho作極坐標(biāo)圖,用s指定線型。 解:theta=linspace(0,2*pi), rho=sin(2*theta).*cos(2*theta); polar(theta,rho,g) title(Polar plot of sin(2*theta).*cos(2*theta));,例,32,六、MATLAB作圖特殊二維圖形,33,六、MATLAB作圖特殊二維圖形,2、 散點(diǎn)圖: scatter(X,Y,S,C) 在向量X和Y的指定位 18、置顯示彩色圈X和Y必須大小相同 例 繪制seamount散點(diǎn)圖 解 輸入命令: load seamount scatter(x,y,5,z),34,六、MATLAB作圖特殊二維圖形,3、平面等值線圖:contour (x,y,z,n) 繪制n個(gè)等值線的二維等值線圖 解 輸入命令: X,Y=meshgeid(-2:.2:2,-2:.2:3); Z=X.*exp(-X.2-Y.2); C,h=contour(X,Y,Z); clabel(C,h) colormap cool,35,六、MATLAB作圖三維圖形,1、一條曲線 例 在區(qū)間0,10*pi畫出參數(shù)曲線x=sin(t),y=c 19、os(t), z=t. 解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) rotate3d %旋轉(zhuǎn),PLOT3(x,y,z,s),36,六、MATLAB作圖三維圖形,2、多條曲線 PLOT3(x,y,z) 其中x,y,z是都是m*n矩陣,其對(duì)應(yīng)的每一列表示一條曲線. 例 畫多條曲線觀察函數(shù)Z=(X+Y).2. 解 x=-3:0.1:3;y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(X,Y,Z) (這里meshgrid(x,y)的作用是產(chǎn)生一個(gè)以向量x為行、向量y為列的矩陣),37,六、MATLAB作圖三 20、維圖形,3、空間曲面 (1) surf(x,y,z) 畫出數(shù)據(jù)點(diǎn)(x,y,z)表示的曲面 例 畫函數(shù)Z=(X+Y).2的圖形. 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; surf(X,Y,Z) shading flat %將當(dāng)前圖形變得平滑,,,數(shù)據(jù)矩陣。分別表示數(shù)據(jù)點(diǎn)的橫坐標(biāo)、縱坐標(biāo)、函數(shù)值,38,六、MATLAB作圖三維圖形,(2)Mesh(x,y,z) 畫網(wǎng)格曲面 例 畫出曲面Z=(X+Y).2在不同視角的網(wǎng)格圖. 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); 21、Z=(X+Y).2; mesh(X,Y,Z),,,數(shù)據(jù)矩陣。分別表示數(shù)據(jù)點(diǎn)的橫坐標(biāo)、縱坐標(biāo)、函數(shù)值,39,六、MATLAB作圖三維圖形,40,六、MATLAB作圖三維圖形,(3)meshz(X,Y,Z) 在網(wǎng)格周圍畫一個(gè)curtain圖(如,參考平面) 例 繪peaks的網(wǎng)格圖 解 輸入命令: X,Y=meshgrid(-3:.125:3); Z=praks(X,Y); Meshz(X,Y,Z),41,六、MATLAB作圖特殊三維圖形,1、空間等值線圖:contour 3(x,y,z,n) 其中n表示等值線數(shù)。 例 山峰的三維和二維等值線圖。 解 x,y,z=peaks; subplot 22、(1,2,1) contour3(x,y,z,16,s) grid, xlabel(x-axis),ylabel(y-axis) zlabel(z-axis) title(contour3 of peaks); subplot(1,2,2) contour(x,y,z,16,s) grid, xlabel(x-axis), ylabel(y-axis) title(contour of peaks);,42,六、MATLAB作圖特殊三維圖形,43,六、MATLAB作圖特殊三維圖形,3、三維散點(diǎn)圖 scatter3(X,Y,Z,S,C) 在向量X,Y和Z指定的位 23、置上顯示彩色圓圈.向量X,Y和Z的大小必須相同. 例 繪制三維散點(diǎn)圖。 解 輸入命令: x,y,z=sphere(16); X=x(:)*.5 x(:)*.75 x(:); Y=y(:)*.5 y(:)*.75 y(:); Z=z(:)*.5 z(:)*.75 z(:); S=repmat(1 .75 .5*10,prod(size(x)),1); C=repmat(1 2 3,prod(size(x)),1); scatter3(X(:),Y(:),Z(:),S(:),C(:),filled),view(-60,60),44,六、MATLAB作圖特殊三維圖形,45,六、MATLAB作圖特殊三 24、維圖形,實(shí)例:繪制山區(qū)地貌圖 要在某山區(qū)方圓大約27平方公里范圍內(nèi)修建一條公路,從山腳出發(fā)經(jīng)過一個(gè)居民區(qū),再到達(dá)一個(gè)礦區(qū)。橫向縱向分別每隔400米測(cè)量一次,得到一些地點(diǎn)高程:(平面區(qū)域0<=x<=5600, 0<=y<=4800),需作出該山區(qū)的地貌圖和等高線圖。,46,六、MATLAB作圖特殊三維圖形,47,六、MATLAB作圖特殊三維圖形,48,六、MATLAB作圖特殊三維圖形,x=0:400:5600; y=0:400:4800; z=370 470 550 600 670 690 670 620 580 450 400 300 100 150 250;...1350 1370 1390 1400 1410 960 940 880 800 690 570 430 290 210 150; meshz(x,y,z),rotate3d xlabel(X),ylabel(Y),zlabel(Z) pause figure(2) contour(x,y,z) pause figure(3) contour3(x,y,z),49,Thanks,
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案