第四章matlab繪圖_第1頁
第四章matlab繪圖_第2頁
第四章matlab繪圖_第3頁
第四章matlab繪圖_第4頁
第四章matlab繪圖_第5頁
已閱讀5頁,還剩63頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章第四章 MATLAB繪圖繪圖o二維數據曲線圖二維數據曲線圖o其他二維圖形其他二維圖形o隱函數繪圖隱函數繪圖o三維圖形三維圖形o圖形修飾處理圖形修飾處理o圖形處理與動畫制作圖形處理與動畫制作4.1 二維數據曲線圖二維數據曲線圖4.1.1 繪制單根二維曲線繪制單根二維曲線 plot函數的基本調用格式為:函數的基本調用格式為: plot(x,y,s) 其中其中x和和y為長度相同的向量,分別用于存儲為長度相同的向量,分別用于存儲x坐坐標和標和y坐標數據。坐標數據。s是用來指定線型、色彩、是用來指定線型、色彩、數據點行的選項字符串。數據點行的選項字符串。例例 在在0 x2 區間內,繪制曲線區間內,

2、繪制曲線 y=2e-0.5xcos(4x) 程序如下:程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)4.1 二維數據曲線圖二維數據曲線圖例例 繪制曲線。繪制曲線。 程序如下:程序如下: t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y)4.1 二維數據曲線圖二維數據曲線圖 plot函數最簡單的調用格式是只包含一個函數最簡單的調用格式是只包含一個輸入參數:輸入參數:plot(x); 在這種情況下,當在這種情況下,當x是實向量時,以該向是實向量時,以該向

3、量元素的下標為橫坐標,元素值為縱坐標畫出量元素的下標為橫坐標,元素值為縱坐標畫出一條連續曲線,這實際上是繪制折線圖。一條連續曲線,這實際上是繪制折線圖。4.1 二維數據曲線圖二維數據曲線圖4.1.2 繪制多根二維曲線繪制多根二維曲線1plot函數的輸入參數是矩陣形式函數的輸入參數是矩陣形式 (1) 當當x是向量,是向量,y是有一維與是有一維與x同維的矩陣時,則同維的矩陣時,則繪制出多根不同顏色的曲線。曲線條數等于繪制出多根不同顏色的曲線。曲線條數等于y矩矩陣的另一維數,陣的另一維數,x被作為這些曲線共同的橫坐標。被作為這些曲線共同的橫坐標。 (2) 當當x,y是同維矩陣時,則以是同維矩陣時,則

4、以x,y對應列元素為橫、對應列元素為橫、縱坐標分別繪制曲線,曲線條數等于矩陣的列縱坐標分別繪制曲線,曲線條數等于矩陣的列數。數。4.1 二維數據曲線圖二維數據曲線圖 (3) 對只包含一個輸入參數的對只包含一個輸入參數的plot函數,當輸入參函數,當輸入參數是實矩陣時,則按列繪制每列元素值相對其數是實矩陣時,則按列繪制每列元素值相對其下標的曲線,曲線條數等于輸入參數矩陣的列下標的曲線,曲線條數等于輸入參數矩陣的列數。數。 當輸入參數是復數矩陣時,則按列分別以元素當輸入參數是復數矩陣時,則按列分別以元素實部和虛部為橫、縱坐標繪制多條曲線。實部和虛部為橫、縱坐標繪制多條曲線。4.1 二維數據曲線圖二

5、維數據曲線圖【例1】用圖形表示連續調制波形)9sin()sin(tty t=(0:pi/100:pi);y1=sin(t)*1,-1;y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo)axis(0,pi,-1,1)及其包絡線。及其包絡線。【例2】采用模型1252222ayaxth = 0:pi/50:2*pi;a = 0.5:.5:4.5;X = cos(th)*a;Y = sin(th)*sqrt(25-a.2);plot(X,Y),axis(equal),xlabel(x

6、), ylabel(y)title(A set of Ellipses) 畫一組橢圓。2含多個輸入參數的含多個輸入參數的plot函數函數 調用格式為:調用格式為: plot(x1,y1,x2,y2,xn,yn)(1) 當輸入參數都為向量時,當輸入參數都為向量時,x1和和y1,x2和和y2,xn和和yn分別組成一組向量對,每一組向量對的長度分別組成一組向量對,每一組向量對的長度可以不同。每一向量對可以繪制出一條曲線,這可以不同。每一向量對可以繪制出一條曲線,這樣可以在同一坐標內繪制出多條曲線。樣可以在同一坐標內繪制出多條曲線。(2) 當輸入參數有矩陣形式時,配對的當輸入參數有矩陣形式時,配對的x

7、,y按對應列元按對應列元素為橫、縱坐標分別繪制曲線,曲線條數等于矩素為橫、縱坐標分別繪制曲線,曲線條數等于矩陣的列數。陣的列數。4.1 二維數據曲線圖二維數據曲線圖例例 分析下列程序繪制的曲線。分析下列程序繪制的曲線。 x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100); y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3); x=x1;x2;x3; y=y1;y2;y3; plot(x,y)4.1 二維數據曲線圖二維數據曲線圖其他繪圖選項其他繪圖選項 (即字符串(即字符串

8、s 的使用)的使用)s 由下表中一列或兩列或三列中屬性定義組成,如由下表中一列或兩列或三列中屬性定義組成,如 s = -.g曲線線型曲線線型曲線顏色曲線顏色標記符號標記符號選項選項意義意義選選項項意義意義選選項項意義意義選選項項意義意義選項選項意義意義-實線實線b藍色藍色c藍綠色藍綠色*星號星號pentagram五角五角星星虛線虛線g綠色綠色k黑色黑色.點號點號o圓圈圓圈:點線點線m紅紫紅紫色色r紅色紅色x叉號叉號square-.點劃點劃線線w白色白色y黃色黃色vdiamond none無線無線用一個用一個 1X3 向量任意指定向量任意指定r, g, b紅綠藍三原色紅綠藍三原色hexagram

9、六角六角星星 3具有兩個縱坐標標度的圖形具有兩個縱坐標標度的圖形 在在MATLAB中,如果需要繪制出具有不同縱坐標中,如果需要繪制出具有不同縱坐標標度的兩個圖形,可以使用標度的兩個圖形,可以使用plotyy繪圖函數。調用繪圖函數。調用格式為:格式為: plotyy(x1,y1,x2,y2) 其中其中x1,y1對應一條曲線,對應一條曲線,x2,y2對應另一條曲線。對應另一條曲線。橫坐標的標度相同,縱坐標有兩個,橫坐標的標度相同,縱坐標有兩個,左縱坐標用于左縱坐標用于x1,y1數據對,右縱坐標用于數據對,右縱坐標用于x2,y2數據對。數據對。4.1 二維數據曲線圖二維數據曲線圖 例例 用不同標度在

10、同一坐標內繪制用不同標度在同一坐標內繪制曲線曲線 y1=0.2e-0.5xcos(4x) y2=2e-0.5xcos(x)。 程序如下:程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); plotyy(x,y1, x,y2)4.1 二維數據曲線圖二維數據曲線圖4圖形保持圖形保持 hold on 使當前軸及圖形保持而不被刷新,準備使當前軸及圖形保持而不被刷新,準備 接受此后將回執的新曲線;接受此后將回執的新曲線; hold off 使當前軸及圖形不再具備不被刷新的性使當前軸及圖形

11、不再具備不被刷新的性 質質hold 命令在兩種狀態之間進行切換命令在兩種狀態之間進行切換4.1 二維數據曲線圖二維數據曲線圖例例 采用圖形保持,在同一坐標內繪制曲線采用圖形保持,在同一坐標內繪制曲線 y1=0.2e-0.5xcos(4x) 和和y2=2e-0.5xcos(x)。 程序如下:程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off4.1 二維數據曲線圖二維數據曲線圖4.1.3 設置曲線樣式設

12、置曲線樣式 MATLAB提供了一些繪圖選項,用于確定所提供了一些繪圖選項,用于確定所繪曲線的線型、顏色和數據點標記符號,它們可以繪曲線的線型、顏色和數據點標記符號,它們可以組合使用。例如,組合使用。例如,“b-.”表示藍色點劃線,表示藍色點劃線,“y:d”表示黃色虛線并用菱形符標記數據點。當選項省略表示黃色虛線并用菱形符標記數據點。當選項省略時,時,MATLAB規定,線型一律用實線,顏色將根規定,線型一律用實線,顏色將根據曲線的先后順序依次。據曲線的先后順序依次。 要設置曲線樣式可以在要設置曲線樣式可以在plot函數中加繪圖選項,函數中加繪圖選項,其調用格式為:其調用格式為: plot(x1,

13、y1,選項選項1,x2,y2,選項選項2,xn,yn,選項選項n)4.1 二維數據曲線圖二維數據曲線圖例例 在同一坐標內,分別用不同線型和顏色繪制曲線在同一坐標內,分別用不同線型和顏色繪制曲線y1=0.2e0.5xcos(4x) 和和y2=2e-0.5xcos(x),標記兩曲線交叉點。,標記兩曲線交叉點。 程序如下:程序如下: x=linspace(0,2*pi,1000); y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); k=find(abs(y1-y2)1e-2); %查找查找y1與與y2相等點相等點(近似相近似相

14、 等等)的下的下標標 x1=x(k); % 取取y1與與y2相等點的相等點的x坐標坐標 y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求求y1與與y2值相等點的值相等點的y坐標坐標 plot(x,y1,x,y2,k:,x1,y3,bp); 步 驟典 型 指 令 1數據準備:數據準備:l選擇所要表現的范圍選擇所要表現的范圍l產生自變量采樣向量產生自變量采樣向量l計算相應的函數值向量計算相應的函數值向量t = pi*(0:100)/100y =sin(t).*sin(9*t) 2選定圖形窗及子圖位置:選定圖形窗及子圖位置:l缺省時,打開缺省時,打開Figure No.1,

15、或當前窗,當前子圖或當前窗,當前子圖l可用指令指定圖形窗號和子可用指令指定圖形窗號和子圖號圖號 figure (1)subplot(2,2,3) 3調用(高層)繪圖指令調用(高層)繪圖指令線性、色彩、數據點型線性、色彩、數據點型plot(t,y,b-) 4設置軸的范圍與刻度、坐設置軸的范圍與刻度、坐標分格線標分格線axis(0,pi,-1,1)grid on 5圖形注釋:圖形注釋:圖名、坐標名、圖例、文圖名、坐標名、圖例、文字說明字說明 title(調制波形)xlabel(t);ylabel(y);legend(sin(t),sin(t)sin(9t)text(2,0.5,y=sin(t)si

16、n(9t)6圖形的精細修飾(圖柄操圖形的精細修飾(圖柄操作)作)set(h,MarkerSize,10)4.1.4 圖形標注與坐標控制圖形標注與坐標控制1圖形標注圖形標注 有關圖形標注函數的調用格式為:有關圖形標注函數的調用格式為: title(圖形名稱圖形名稱) xlabel(x軸說明軸說明) ylabel(y軸說明軸說明) text(x,y,圖形說明圖形說明) legend(圖例圖例1,圖例圖例2,)4.1 二維數據曲線圖二維數據曲線圖 函數中的說明文字,除使用標準的函數中的說明文字,除使用標準的ASCII字符外,字符外,還可使用從還可使用從Tex字符集中摘引入了包括希臘字母在內字符集中摘

17、引入了包括希臘字母在內的的100多個特殊字符,這樣就可以在圖形上添加希臘多個特殊字符,這樣就可以在圖形上添加希臘字母、數學符號及公式等內容。例如,字母、數學符號及公式等內容。例如,text(0.3,0.5,sin(omegat+beta)將得到標注效果將得到標注效果sin(t+)。4.1 二維數據曲線圖二維數據曲線圖例例 在在0 x2 區間內,繪制曲線區間內,繪制曲線y1=2e-0.5x和和y2=cos(4x),并給圖形添加圖形標注。并給圖形添加圖形標注。 程序如下:程序如下: x=0:pi/100:2*pi; y1=2*exp(-0.5*x); y2=cos(4*pi*x); plot(x,

18、y1,x,y2) title(x from 0 to 2pi); %加圖形標題加圖形標題 xlabel(Variable X); %加加X軸說明軸說明 ylabel(Variable Y); %加加Y軸說明軸說明 text(0.8,1.5,曲線曲線y1=2e-0.5x ); %在指定位置添在指定位置添 % 加圖形說明加圖形說明 text(2.5,1.1,曲線曲線y2=cos(4pix); legend(y1,y2) %加圖例加圖例2坐標控制坐標控制 axis函數的調用格式為:函數的調用格式為: axis(xmin xmax ymin ymax zmin zmax) axis函數功能豐富,常用的

19、格式還有:函數功能豐富,常用的格式還有: axis equal:縱、橫坐標軸采用等長刻度。:縱、橫坐標軸采用等長刻度。 axis square:產生正方形坐標系:產生正方形坐標系(缺省為矩形缺省為矩形)。 axis auto:使用缺省設置。:使用缺省設置。 axis off:取消坐標軸。:取消坐標軸。 axis on:顯示坐標軸。:顯示坐標軸。 axis image:橫、縱軸采用等長刻度,且坐標框緊:橫、縱軸采用等長刻度,且坐標框緊 貼數據范圍。貼數據范圍。4.1 二維數據曲線圖二維數據曲線圖t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);%subpl

20、ot(2,3,1),plot(x,y),axis normal,grid on,title(Normal and Grid on)subplot(2,3,2),plot(x,y),axis equal,grid on,title(Equal)subplot(2,3,3),plot(x,y),axis square,grid on,title(Square)subplot(2,3,4),plot(x,y),axis image,box off,title(Image and Box off)subplot(2,3,6),plot(x,y),axis tight,box off,title(Tig

21、ht) 演示采用長軸為演示采用長軸為3.253.25,短軸為,短軸為1.151.15的橢圓。的橢圓。 給坐標加網格線用給坐標加網格線用grid命令來控制。命令來控制。grid on/off命令控制是畫還是不畫網格線,不帶參數命令控制是畫還是不畫網格線,不帶參數的的grid命令在兩種狀態之間進行切換。命令在兩種狀態之間進行切換。 給坐標加邊框用給坐標加邊框用box命令來控制。命令來控制。box on/off命令控制是加還是不加邊框線,不帶參數命令控制是加還是不加邊框線,不帶參數的的box命令在兩種狀態之間進行切換。命令在兩種狀態之間進行切換。4.1 二維數據曲線圖二維數據曲線圖例例 在同一坐標中

22、可以繪制在同一坐標中可以繪制3個同心圓,并加坐標控制個同心圓,并加坐標控制 程序如下:程序如下: t=0:0.01:2*pi; x=exp(i*t); y=x;2*x;3*x; plot(y) grid on; %加網格線加網格線 box on; %加坐標邊框加坐標邊框 axis equal %坐標軸采用等刻度坐標軸采用等刻度4.1 二維數據曲線圖二維數據曲線圖4.1.5 圖形的可視化編輯圖形的可視化編輯 MATLAB 在圖形窗口中提供了可視化的在圖形窗口中提供了可視化的圖形編輯工具,利用圖形窗口菜單欄或工具欄圖形編輯工具,利用圖形窗口菜單欄或工具欄中的有關命令可以完成對窗口中各種圖形對象中的

23、有關命令可以完成對窗口中各種圖形對象的編輯處理。的編輯處理。 在圖形窗口上有一個菜單欄和工具欄。菜在圖形窗口上有一個菜單欄和工具欄。菜單欄包含單欄包含File、Edit、View、Insert、Tools、Window和和Help共共7個菜單項,工具欄包含個菜單項,工具欄包含11個個命令按鈕。命令按鈕。4.1 二維數據曲線圖二維數據曲線圖若干重要的菜單選項:若干重要的菜單選項: 【Edit: current objects properties】:次選項將調出當前所在對象屬性的面積界面。【Insert:Axes】:該選項中,將可在當前圖形窗口中的任何地方開辟任何大小的“子圖”,該子圖的辨認需借

24、助圖柄。而它圖柄的獲得方法是:現在圖形窗口中選中“子圖”,然后在指令窗中運行指令hx=gca,便得到了該子圖的圖柄。【Insetr:Arrow】; 【Insetr:Line】, 【Insetr:Text】:這三個選項分別等價于“添加箭頭鍵”,“添加直線鍵”,“添加文字鍵”。clf;shg,t=(pi*(0:1000)/1000);y1=sin(t);y12=sin(t).*sin(10*t);plot(t,y12,b-,t,y1,-y1,r:),axis(0,pi,-1,1) 4.1.6 圖形窗口的分割圖形窗口的分割 subplot函數的調用格式為:函數的調用格式為: subplot(m,n,

25、p) 該函數將當前圖形窗口分成該函數將當前圖形窗口分成mn個繪圖區,即個繪圖區,即每行每行n個,共個,共m行,區號按行優先編號,且選定行,區號按行優先編號,且選定第第p個區為當前活動區。在每一個繪圖區允許以個區為當前活動區。在每一個繪圖區允許以不同的坐標系單獨繪制圖形。不同的坐標系單獨繪制圖形。4.1 二維數據曲線圖二維數據曲線圖4.2.1 其他坐標系下的二維數據曲線圖其他坐標系下的二維數據曲線圖1對數坐標圖形對數坐標圖形 MATLAB提供了繪制對數和半對數坐標曲線的函數,提供了繪制對數和半對數坐標曲線的函數,調用格式為:調用格式為: semilogx(x1,y1,選項選項1,x2,y2,選項

26、選項2,) semilogy(x1,y1,選項選項1,x2,y2,選項選項2,) loglog(x1,y1,選項選項1,x2,y2,選項選項2,)例例 繪制繪制y=10 x2的對數坐標圖與直角線性坐標圖進行比較。的對數坐標圖與直角線性坐標圖進行比較。4.2 其他二維圖形其他二維圖形2極坐標圖極坐標圖 polar函數用來繪制極坐標圖,其調函數用來繪制極坐標圖,其調用格式為:用格式為: polar(theta,rho,選項選項) 其中其中theta為極坐標極角,為極坐標極角,rho為極坐為極坐標矢徑,選項的內容與標矢徑,選項的內容與plot函數相函數相似。似。例例 繪制繪制r=sin(t)cos(

27、t)的極坐標圖,并標的極坐標圖,并標記數據點。記數據點。 程序如下:程序如下: t=0:pi/50:2*pi; r=sin(t).*cos(t); polar(t,r,-*);4.2 其他二維圖形其他二維圖形4.2.2 二維統計分析圖二維統計分析圖 在在MATLAB中,二維統計分析圖形很多,常見的中,二維統計分析圖形很多,常見的有條形圖、階梯圖、桿圖和填充圖等,所采用的函有條形圖、階梯圖、桿圖和填充圖等,所采用的函數分別是:數分別是: bar(x,y,選項選項) stairs(x,y,選項選項) stem(x,y,選項選項) fill(x1,y1,選項選項1,x2,y2,選項選項2,)4.2

28、其他二維圖形其他二維圖形例例 分別以條形圖、階梯圖、桿圖和填充圖形式繪制曲分別以條形圖、階梯圖、桿圖和填充圖形式繪制曲線線y=2sin(x)。 程序如下:程序如下: x=0:pi/10:2*pi; y=2*sin(x); subplot(2,2,1);bar(x,y,g); title(bar(x,y,g);axis(0,7,-2,2); subplot(2,2,2);stairs(x,y,b); title(stairs(x,y,b);axis(0,7,-2,2); subplot(2,2,3);stem(x,y,k); title(stem(x,y,k);axis(0,7,-2,2); s

29、ubplot(2,2,4);fill(x,y,y); title(fill(x,y,y);axis(0,7,-2,2); MATLAB提供的統計分析繪圖函數還有很多,例如用來表提供的統計分析繪圖函數還有很多,例如用來表示各元素占總和的百分比的餅圖、復數的相量圖等等。示各元素占總和的百分比的餅圖、復數的相量圖等等。例例 (1) 某企業全年各季度的產值某企業全年各季度的產值(單位:萬元單位:萬元)分別為:分別為:2347,1827,2043,3025,試用餅圖作統計分析。,試用餅圖作統計分析。 (2) 繪制復數的相量圖:繪制復數的相量圖:7+2.9i、2-3i和和-1.5-6i。 程序如下:程序如

30、下: subplot(1,2,1); pie(2347,1827,2043,3025); title(餅圖餅圖); legend(一季度一季度,二季度二季度,三季度三季度,四季度四季度); subplot(1,2,2); compass(7+2.9i,2-3i,-1.5-6i); title(相量圖相量圖);4.2 其他二維圖形其他二維圖形 MATLAB提供了一個提供了一個ezplot函數繪制隱函數圖函數繪制隱函數圖形,下面介紹其用法。形,下面介紹其用法。 (1) 對于函數對于函數f = f(x),ezplot函數的調用格式為:函數的調用格式為: ezplot(f):在默認區間:在默認區間-2

31、x2繪制繪制f = f(x)的圖形。的圖形。 ezplot(f, a,b):在區間:在區間axb繪制繪制f = f(x)的圖形。的圖形。4.3 隱函數繪圖隱函數繪圖(2) 對于隱函數對于隱函數f = f(x,y),ezplot函數的調用格式為:函數的調用格式為: ezplot(f):在默認區間:在默認區間-2x2和和-2y2繪制繪制f(x,y) = 0的圖形。的圖形。 ezplot(f, xmin,xmax,ymin,ymax):在區間:在區間xminxxmax和和yminyymax繪制繪制f(x,y) = 0的的圖形。圖形。 ezplot(f, a,b):在區間:在區間axb和和ay b繪制

32、繪制f(x,y) = 0的圖形。的圖形。4.3 隱函數繪圖隱函數繪圖(3) 對于參數方程對于參數方程x = x(t)和和y = y(t),ezplot函數的函數的調用格式為:調用格式為: ezplot(x,y):在默認區間:在默認區間0t2繪制繪制x=x(t)和和y=y(t)的圖形。的圖形。 ezplot(x,y, tmin,tmax):在區間:在區間tmin t tmax繪制繪制x=x(t)和和y=y(t)的圖形。的圖形。4.3 隱函數繪圖隱函數繪圖例例 隱函數繪圖應用舉例。隱函數繪圖應用舉例。程序如下:程序如下:subplot(2,2,1);ezplot(x2+y2-9);axis equ

33、alsubplot(2,2,2);ezplot(x3+y3-5*x*y+1/5)subplot(2,2,3);ezplot(cos(tan(pi*x), 0,1)subplot(2,2,4);ezplot(8*cos(t),4*sqrt(2)*sin(t),0,2*pi)4.3 隱函數繪圖隱函數繪圖4.4.1 三維曲線三維曲線 plot3函數與函數與plot函數用法十分相似,其調用格式為函數用法十分相似,其調用格式為 plot3(x1,y1,z1,選項選項1,x2,y2,z2,選項選項2,xn,yn,zn,選項選項n) 其中每一組其中每一組x,y,z組成一組曲線的坐標參數,選項的定組成一組曲線

34、的坐標參數,選項的定義和義和plot函數相同。當函數相同。當x,y,z是同維向量時,則是同維向量時,則x,y,z 對對應元素構成一條三維曲線。當應元素構成一條三維曲線。當x,y,z是同維矩陣時,則是同維矩陣時,則以以x,y,z對應列元素繪制三維曲線,曲線條數等于矩陣對應列元素繪制三維曲線,曲線條數等于矩陣列數。列數。4.4 三維圖形三維圖形例例 繪制三維曲線。繪制三維曲線。程序如下:程序如下:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title(Line in 3-D Space);xlabel(X)

35、;ylabel(Y);zlabel(Z);grid on;4.4 三維圖形三維圖形4.4.2 三維曲面三維曲面1產生三維數據產生三維數據 在在MATLAB中,利用中,利用meshgrid函數產生平函數產生平面區域內的網格坐標矩陣。其格式為:面區域內的網格坐標矩陣。其格式為: x=a:d1:b; y=c:d2:d; X,Y=meshgrid(x,y); 該函數將向量該函數將向量X與與Y定義的區域轉換成數組定義的區域轉換成數組X和和Y。輸出的。輸出的X和和Y分別為平面上矩形區域分分別為平面上矩形區域分割點的橫、縱坐標值。割點的橫、縱坐標值。4.4 三維圖形三維圖形2繪制三維曲面的函數繪制三維曲面的

36、函數 surf函數和函數和mesh函數的調用格式為:函數的調用格式為: mesh(x,y,z,c) % % 最常用的網線圖調用格式最常用的網線圖調用格式 surf(x,y,z,c) % % 最常用的曲面圖調用格式最常用的曲面圖調用格式 一般情況下,一般情況下,x,y,z是維數相同的矩陣。是維數相同的矩陣。x,y是網是網格坐標矩陣,格坐標矩陣,z是網格點上的高度矩陣,是網格點上的高度矩陣,c用于用于指定在不同高度下的顏色范圍。指定在不同高度下的顏色范圍。4.4 三維圖形三維圖形例例 繪制三維曲面圖繪制三維曲面圖 z=sin(x+sin(y)-x/10。 程序如下:程序如下: x,y=meshgr

37、id(0:0.25:4*pi); z=sin(x+sin(y)-x/10; mesh(x,y,z); axis(0,4*pi,0,4*pi,-2.5,1);4.4 三維圖形三維圖形3標準三維曲面標準三維曲面 sphere函數的調用格式為:函數的調用格式為: x,y,z=sphere(n) % % 產生球面產生球面 cylinder函數的調用格式為:函數的調用格式為: x,y,z= cylinder(R,n) % % 創建圓柱創建圓柱 MATLAB還有一個還有一個peaks 函數,稱為多峰函數,函數,稱為多峰函數,常用于三維曲面的演示。常用于三維曲面的演示。4.4 三維圖形三維圖形例例 繪制標準

38、三維曲面圖形。繪制標準三維曲面圖形。程序如下:程序如下:t=0:pi/20:2*pi;x,y,z= cylinder(2+sin(t),30);subplot(2,2,1);surf(x,y,z);subplot(2,2,2);x,y,z=sphere;surf(x,y,z);subplot(2,1,2);x,y,z=peaks(30); surf(x,y,z);4.4.3 其他三維圖形其他三維圖形 在介紹二維圖形時曾提到條形圖、桿圖、餅圖和填在介紹二維圖形時曾提到條形圖、桿圖、餅圖和填充圖等特殊圖形,它們還可以以三維形式出現,使充圖等特殊圖形,它們還可以以三維形式出現,使用的函數分別是用的函

39、數分別是bar3、stem3、pie3 和和fill3。 1. bar3函數繪制三維條形圖,常用格式為:函數繪制三維條形圖,常用格式為: bar3(y) bar3(x,y) 2. stem3函數繪制離散序列數據的三維桿圖,常用函數繪制離散序列數據的三維桿圖,常用格式為:格式為: stem3(z) stem3(x,y)4.4 三維圖形三維圖形 3.pie3函數繪制三維餅圖,常用格式為:函數繪制三維餅圖,常用格式為: pie3(x) 4.fill3函數等效于三維函數函數等效于三維函數fill,可在三維空間內,可在三維空間內繪制出填充過的多邊形,常用格式為:繪制出填充過的多邊形,常用格式為: fil

40、l3(x,y,z,c)4.4 三維圖形三維圖形4.4 三維圖形三維圖形例例 繪制三維圖形:繪制三維圖形:(1) 繪制魔方陣的三維條形圖繪制魔方陣的三維條形圖(2) 以三維桿圖形式繪制曲線以三維桿圖形式繪制曲線y=2sin(x)(3)繪制餅圖繪制餅圖x=2347,1827,2043,3025(4) 用隨機的頂點坐標值畫出用隨機的頂點坐標值畫出五個黃色三角形。五個黃色三角形。程序如下:程序如下:subplot(2,2,1);bar3(magic(4);subplot(2,2,2);y=2*sin(0:pi/10:2*pi);stem3(y);subplot(2,2,3);pie3(2347,182

41、7,2043,3025);subplot(2,2,4);fill3(rand(3,5),rand(3,5),rand(3,5), y );例例 繪制多峰函數的瀑布圖和等高線圖。繪制多峰函數的瀑布圖和等高線圖。程序如下:程序如下:subplot(1,2,1);X,Y,Z=peaks(30);waterfall(X,Y,Z);xlabel(X-axis),ylabel(Y-axis),zlabel(Z-axis);subplot(1,2,2);contour3(X,Y,Z,12,k); %其中其中12代表高度的等級數代表高度的等級數xlabel(X-axis),ylabel(Y-axis),zla

42、bel(Z-axis);4.4 三維圖形三維圖形4.5.1 視點處理視點處理 MATLAB提供了設置視點的函數提供了設置視點的函數view,其調用,其調用格式為:格式為: view(az,el) 其中其中az為方位角,為方位角,el為仰角,它們均以度為單為仰角,它們均以度為單位。系統缺省的視點定義為方位角位。系統缺省的視點定義為方位角-37.5,仰角仰角30。4.5 圖形修飾處理圖形修飾處理4.5.2 色彩處理色彩處理1顏色的向量表示顏色的向量表示 MATLAB除用字符表示顏色外,還可以用含有除用字符表示顏色外,還可以用含有3個元素的向量表示顏色。向量元素在個元素的向量表示顏色。向量元素在0,

43、1范圍范圍取值,取值,3個元素分別表示紅、綠、藍個元素分別表示紅、綠、藍3種顏色的種顏色的相對亮度,稱為相對亮度,稱為RGB三元組。三元組。4.5 圖形修飾處理圖形修飾處理2三維表面圖形的著色三維表面圖形的著色 三維表面圖實際上就是在網格圖的每一個網格三維表面圖實際上就是在網格圖的每一個網格片上涂上顏色。片上涂上顏色。surf函數用缺省的著色方式對函數用缺省的著色方式對網格片著色。除此之外,還可以用網格片著色。除此之外,還可以用shading命令命令來改變著色方式。來改變著色方式。 shading faceted命令將每個網格片用其高度對應命令將每個網格片用其高度對應的顏色進行著色,但網格線仍

44、保留著,其顏色的顏色進行著色,但網格線仍保留著,其顏色是黑色。這是系統的缺省著色方式。是黑色。這是系統的缺省著色方式。4.5 圖形修飾處理圖形修飾處理 shading flat命令將每個網格片用同一個顏色進命令將每個網格片用同一個顏色進行著色,且網格線也用相應的顏色,從而使得行著色,且網格線也用相應的顏色,從而使得圖形表面顯得更加光滑。圖形表面顯得更加光滑。 shading interp命令在網格片內采用顏色插值處命令在網格片內采用顏色插值處理,得出的表面圖顯得最光滑。理,得出的表面圖顯得最光滑。4.5 圖形修飾處理圖形修飾處理例例 3種圖形著色方式的效果展示種圖形著色方式的效果展示程序如下:

45、程序如下:x,y,z=sphere(20);subplot(1,3,1);surf(x,y,z);axis equalsubplot(1,3,2);surf(x,y,z);shading flat;axis equalsubplot(1,3,3);surf(x,y,z);shading interp;axis equal4.5.3 光照處理光照處理例例 光照處理后的球面。光照處理后的球面。程序如下:程序如下:x,y,z=sphere(20);subplot(1,2,1);surf(x,y,z);axis equal;light(Posi,0,1,1);shading interp;hold on;plot3(0,1,1,p);text(0,1,1, light);subplot(1,2,2);surf(x,y,z);axis equal;light(Posi,

溫馨提示

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

評論

0/150

提交評論