第3講MATLAB作圖_第1頁
第3講MATLAB作圖_第2頁
第3講MATLAB作圖_第3頁
第3講MATLAB作圖_第4頁
第3講MATLAB作圖_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)學建模與數(shù)學實驗數(shù)學建模與數(shù)學實驗 MATLAB作圖作圖 二維圖形二維圖形三維圖形三維圖形圖形處理圖形處理 實例實例 作業(yè)作業(yè) 特殊二、三維圖形特殊二、三維圖形 MATLAB作圖是通過描點、連線來實現(xiàn)的,故在 畫一個曲線圖形之前,必須先取得該圖形上的 一系列的點的坐標(即橫坐標和縱坐標),然 后將該點集的坐標傳給MATLAB函數(shù)畫圖. 命令為: plot(X,Y,S) plot(X,Y) 畫實線 plot(X,Y1,S1,X,Y2,S2,X,Yn,Sn) 將多條線畫在一起 X,Y是向量,分別表示點集的橫坐標和縱坐標 線型 y 黃色黃色 . 點點 - 連線連線 m 洋紅洋紅 o 圈圈 : 短虛

2、線短虛線 c 藍綠色藍綠色 x x-符號符號 -. 長短線長短線 r 紅色紅色 + 加號加號 - 長虛線長虛線 1.曲線圖曲線圖 例例 在0,2 用紅線畫sin x,用綠圈畫cos x. x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,r,x,z, g0) 解解 MATLAB liti1 x 2.符號函數(shù)符號函數(shù)(顯函數(shù)、隱函數(shù)和參數(shù)方程顯函數(shù)、隱函數(shù)和參數(shù)方程)畫圖畫圖 (1) ezplot ezplot(x(t),y(t),tmin,tmax) 表示在區(qū)間tminttmax繪制參數(shù)方程 x=x(t),y=y(t)的函數(shù)圖. ezplo

3、t(f(x),a,b) 表示在axb繪制顯函數(shù)f=f(x)的函數(shù)圖. ezplot(f(x,y),xmin,xmax,ymin,ymax) 表示在區(qū)間xminxxmax和 yminyymax繪制 隱函數(shù)f(x,y)=0的函數(shù)圖. 例例 在0, 上畫y=cos x 的圖形. 解解 輸入命令 ezplot(sin(x),0,pi) MATLAB liti25 解解 輸入命令 ezplot(cos(t)3,sin(t)3,0.2*pi) MATLAB liti41 解解 輸入命令 ezplot(exp(x)+sin(x*y),-2,0.5,0,2) MATLAB liti40 (2) fplot 注

4、意: 1 fun必須是M文件的函數(shù)名或是獨立變量為 x的字符串. 2 fplot函數(shù)不能畫參數(shù)方程和隱函數(shù)圖形, 但在一個圖上可以畫多個圖形. fplot(fun,lims) 表示繪制字符串fun指定的函數(shù)在 lims=xmin,xmax的圖形. 解解 先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.2) 再輸入命令: fplot(myfun1,-1,2) MATLAB liti43 MATLAB liti28 解解 輸入命令: fplot(tanh(x),sin(x),cos(x),2*pi*-1 1 1 1) 例例 在-2,2范

5、圍內(nèi)繪制函數(shù)tanh的圖形. 解解 fplot(tanh,-2,2) MATLAB liti42 3. 對數(shù)坐標圖對數(shù)坐標圖 在很多工程問題中,通過對數(shù)據(jù)進行對數(shù)轉(zhuǎn)換可以 更清晰地看出數(shù)據(jù)的某些特征,在對數(shù)坐標系中描繪數(shù) 據(jù)點的曲線,可以直接地表現(xiàn)對數(shù)轉(zhuǎn)換.對數(shù)轉(zhuǎn)換有雙對 數(shù)坐標轉(zhuǎn)換和單軸對數(shù)坐標轉(zhuǎn)換兩種.用loglog函數(shù) 可以實現(xiàn)雙對數(shù)坐標轉(zhuǎn)換,用semilogx和semilogy 函數(shù)可以實現(xiàn)單軸對數(shù)坐標轉(zhuǎn)換. loglog(Y) 表示 x、y坐標都是對數(shù)坐標系 semilogx(Y) 表示 x坐標軸是對數(shù)坐標系 semilogy() 表示y坐標軸是對數(shù)坐標系 plotyy 有兩個y坐標

6、軸,一個在左邊,一個在右邊 例例 用方形標記創(chuàng)建一個簡單的loglog. 解解 輸入命令: x=logspace(-1,2); loglog(x,exp(x),-s) grid on %標注格柵 MATLAB liti37 例例 創(chuàng)建一個簡單的半對數(shù)坐標圖. 解解 輸入命令: x=0:.1:10; semilogy(x,10.x) MATLAB liti38 例例 繪制y=x3的函數(shù)圖、對數(shù)坐標圖、半對數(shù)坐標圖. MATLAB liti22返回 三維圖形三維圖形 1. 空間曲線空間曲線 2. 空間曲面空間曲面 返回 plot3(x,y,z,s) 空空 間間 曲曲 線線 1. 一條曲線一條曲線

7、例例 在區(qū)間0,10畫出參數(shù)曲線 x=sint,y=cost, z=t. MATLAB liti8 解解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) rotate3d %旋轉(zhuǎn) n維向量,分別表示曲 線上點集的橫坐標、縱 坐標、函數(shù)值 指定顏色、 線形等 plot3(x,y,z) 2. 多條曲線多條曲線 例 畫多條曲線觀察函數(shù)Z=(X+Y)2. (這里meshgrid(x,y)的作用 是產(chǎn)生一個以向量x為行、向量y 為列的矩陣) MATLAB liti9 其中x,y,z是都是mn矩陣,其對應的每一列表示一條曲線. 解 x=-3:0.1:3;y=1:0.1:5;

8、 X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(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 %將當前圖形變得平滑 MATLAB liti11 (1) surf(x,y,z) 畫出數(shù)據(jù)點(x,y,z)表示的曲面 數(shù)據(jù)矩陣.分別表示 數(shù)據(jù)點的橫坐標、縱 坐標、函數(shù)值 (2) mesh(x,y,z) 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,

9、y); Z=(X+Y).2; mesh(X,Y,Z) MATLAB liti24 例 畫出曲面Z=(X+Y)2在不同視角的網(wǎng)格圖. 畫網(wǎng)格曲面 數(shù)據(jù)矩陣.分別表示 數(shù)據(jù)點的橫坐標、縱 坐標、函數(shù)值 (3)meshz(X,Y,Z) 在網(wǎng)格周圍畫一個curtain圖(如,參考平面) 解 輸入命令: X,Y=meshgrid(-3:.125:3); Z=praks(X,Y); meshz(X,Y,Z) 例例 繪peaks的網(wǎng)格圖 MATLAB liti36 返回 在圖形上加格柵、圖例和標注在圖形上加格柵、圖例和標注 定制坐標定制坐標 圖形保持圖形保持 分割窗口分割窗口 縮放圖形縮放圖形 改變視角改變

10、視角 圖形處理 返回 動動 畫畫 1. 在圖形上加格柵、圖例和標注在圖形上加格柵、圖例和標注 (1)GRID ON: 加格柵在當前圖上 GRID OFFGRID OFF: 刪除格柵 處理圖形處理圖形 (2)hh = xlabel(string):在當前圖形的x軸上加圖例string hh = ylabel(string): 在當前圖形的y軸上加圖例string hh = title(string): 在當前圖形的頂端上加圖例string hh = zlabel(string): 在當前圖形的z軸上加圖例string 例例 在區(qū)間0,2畫sin(x)的圖形,并加注圖例“自變量 X”、“函數(shù)Y”、

11、“示意圖”, 并加格柵. 解解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel(自變量X) ylabel(函數(shù)Y) title(示意圖) grid on MATLAB liti2 (3) hh = gtext(string) 命令gtext(string)用鼠標放置標注在現(xiàn)有的圖上. 運行命令gtext(string)時,屏幕上出現(xiàn)當前圖形,在 圖形上出現(xiàn)一個交叉的十字,該十字隨鼠標的移動移動, 當按下鼠標左鍵時,該標注string放在當前十交叉的位 置. 例例 在區(qū)間0,2畫sin(x),并分別標注“sin(x)” ”cos(x)”. 解解

12、 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) gtext(sin(x);gtext(cos(x) MATLAB liti3 返回 2. 定制坐標定制坐標 Axis(xmin xmax ymin ymax zmin zmax) 例例 在區(qū)間0.005,0.01顯示sin(1/x)的圖形. 解解 x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) axis(0.005 0.01 1 1) MATLAB liti4 返回 定制圖形坐標 將坐標軸返回到自動缺省值A(chǔ)xis auto

13、 x、y、z的最大、最小值 3. 圖形保持圖形保持 (1) hold on hold of 例例 將y=sin(x)、y=cos(x)分別用點和線畫出在同一屏幕上. 解解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x) plot(x,z,:) hold on Plot(x,y) MATLAB liti5 保持當前圖形, 以便繼續(xù)畫圖到當前圖上 釋放當前圖形窗口 (2) figure(h) 例例 區(qū)間0,2 新建兩個窗口分別畫出y=sin(x); z=cos(x). 解解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); p

14、lot(x,y); title(sin(x); pause figure(2); plot(x,z); title(cos(x); MATLAB liti6 返回 新建h窗口,激活圖形使其可見,并把它置 于其它圖形之上 4. 割窗口割窗口 h=subplot(mrows,ncols,thisplot) 劃分整個作圖區(qū)域為mrows*ncols塊(逐行對塊訪問) 并激活第thisplot塊,其后的作圖語句將圖形畫在該塊上. 激活已劃分為mrows*ncols塊的屏幕中的第thisplot塊, 其后的作圖語句將圖形畫在該塊上. 命令Subplot(1,1,1)返回非分割狀態(tài). subplot(mr

15、ows,ncols,thisplot) subplot(1,1,1) 解解x=linspace(0,2*pi,100); y=sin(x); z=cos(x); a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps) 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,a),title(sin(x)cos(x) subplot(2,2,4);plot(x,b),title(sin(x)/cos(x) 例例 將屏幕分割為四塊,并分

16、別畫出y=sin(x),z=cos(x), a=sin(x)cos(x),b=sin(x)/cos(x). MATLAB liti7 返回 5. 縮放圖形縮放圖形 zoom on 單擊鼠標左鍵,則在當前圖形窗口中,以鼠標點中的點為 中心的圖形放大2倍;單擊鼠標右鍵,則縮小2倍. 解解 x=linspace(0,2*pi,30); y=sin(x); Plot(x,y) zoom on MATLAB liti13 例例 縮放y=sin(x)的圖形. zoom off 為當前圖形打開縮放模式 關(guān)閉縮放模式 返回 6. 改變視角改變視角view (1)view(a,b) 命令view(a,b)改變視

17、角到(a,b),a是方位角,b為仰角. 缺省視角為(-37.5,30). 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; subplot(2,2,1), mesh(X,Y,Z) subplot(2,2,2), mesh(X,Y,Z),view(50,-34) subplot(2,2,3), mesh(X,Y,Z),view(-60,70) subplot(2,2,4), mesh(X,Y,Z),view(0,1,1) MATLAB liti10 例 畫出曲面Z=(X+Y)2在不同視角的網(wǎng)格圖. view用空間向量表示的,三個量只關(guān)心

18、它們的比例,與數(shù) 值的大小無關(guān),x軸view(1,0,0),y軸view(0,1, 0),z 軸view(0,0 ,1). (2)view(x,y,z) 返回 7. 動畫動畫 Moviein(),getframe,movie() 函數(shù)Moviein()產(chǎn)生一個幀矩陣來存放動畫中的幀;函 數(shù)getframe對當前的圖像進行快照;函數(shù)movie()按順序 回放各幀. MATLAB liti14 返回 例 將曲面peaks做成動畫. 解 x,y,z=peaks(30); surf(x,y,z) axis(-3 3 -3 3 -10 10) m=moviein(15); for i=1:15 view

19、(-37.5+24*(i-1),30) m(:,i)=getframe; end movie(m) 特殊二、三維圖形特殊二、三維圖形 1. 特殊的二維圖形函數(shù)特殊的二維圖形函數(shù) 2. 特殊的三維圖形函數(shù)特殊的三維圖形函數(shù) 返回 特殊的二維圖形函數(shù)特殊的二維圖形函數(shù) 1. 極坐標圖:極坐標圖:polar (theta,rho,s) 用角度theta(弧度表示)和極半徑rho作極坐標圖, 用s指定線型. 例. 2cos2sin的極坐標圖形r 解:theta=linspace(0,2*pi), rho=sin(2*theta).*cos(2*theta); polar(theta,rho,g) ti

20、tle(Polar plot of sin(2*theta).*cos(2*theta); MATLAB liti15 2. 散點圖散點圖: scatter(X,Y,S,C) 在向量X和Y的指定位置顯示彩色圈X和Y必須大小相同 解解 輸入命令: load seamount scatter(x,y,5,z) MATLAB liti29 3. 平面等值線圖平面等值線圖: contour(x,y,z,n) 繪制n個等值線的二維 等值線圖 解解 輸入命令: X,Y=meshgeid(-2:.2:2,-2:.2:3); Z=X.*exp(-X.2-Y.2); C,h=contour(X,Y,Z); cl

21、abel(C,h) colormap cool MATLAB liti34 例例 繪制seamount散點圖 返回 特殊的三維圖形函數(shù)特殊的三維圖形函數(shù) 1. 空間等值線圖:空間等值線圖: contour 3(x,y,z,n) 其中n表示等值線數(shù). 例例 山峰的三維和二維等值線圖. 解 x,y,z=peaks; subplot(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); MATLAB liti18 2. 三維散點圖三維散點圖 scatter3(X,Y,Z,S,C) 在向量X,Y和Z指定的位置上顯示彩色圓圈. 向量X,Y和Z的大小必須相同. 解解 輸入命令: 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=r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論