Matlab基礎(chǔ)及其應(yīng)用-第4章-圖形繪制課件_第1頁
Matlab基礎(chǔ)及其應(yīng)用-第4章-圖形繪制課件_第2頁
Matlab基礎(chǔ)及其應(yīng)用-第4章-圖形繪制課件_第3頁
Matlab基礎(chǔ)及其應(yīng)用-第4章-圖形繪制課件_第4頁
Matlab基礎(chǔ)及其應(yīng)用-第4章-圖形繪制課件_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第4章圖形繪制【本章學(xué)習(xí)目標(biāo)】掌握繪制二維和三維圖形的方法。掌握圖形修飾處理方法。了解圖像處理的基本原理和方法。掌握交互式繪圖工具的使用方法。4.1 二維曲線的繪制1plot函數(shù)用于繪制平面上的線性坐標(biāo)曲線。plot(X, Y)其中,參數(shù)X和Y為向量或矩陣,分別用于存儲要繪制的數(shù)據(jù)點的橫坐標(biāo)和縱坐標(biāo)。4.1.1 繪制二維曲線4.1 二維曲線的繪制【例4.1】繪制曲線如果plot函數(shù)的輸入?yún)?shù)的數(shù)據(jù)點太少,繪制的圖形不能反映數(shù)據(jù)的變化特性。4.1.1 繪制二維曲線t=linspace(0,2*pi,200);x=sin(t)+sin(2*t);y=cos(t)-cos(2*t);plot(x,y

2、);4.1 二維曲線的繪制1plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式。(1)當(dāng)x和y是同樣大小矩陣時,配對的x、y按對應(yīng)列的元素為橫、縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。例如,在同一坐標(biāo)中繪制3條幅值不同的正弦曲線,命令為4.1.1 繪制二維曲線x=linspace(0,2*pi,100);y=sin(x);plot(x; x; x,y; y*2; y*3) 如果X或Y一個是行向量,一個是矩陣,則矩陣的列數(shù)應(yīng)與向量的元素個數(shù)相同,繪圖時按矩陣的行對數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的行數(shù);如果X或Y一個是列向量,一個是矩陣,則矩陣的行數(shù)應(yīng)與向量的元素個數(shù)相同,繪圖時按矩陣的列對數(shù)據(jù)分組繪制

3、,曲線條數(shù)為矩陣的列數(shù)。4.1 二維曲線的繪制1plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(2)當(dāng)plot函數(shù)只有一個輸入?yún)?shù)時,即plot(y)若y是實型向量,則以該向量元素的下標(biāo)為橫坐標(biāo)、元素值為縱坐標(biāo)繪制出一條連續(xù)曲線;若y是復(fù)數(shù)向量,則分別以向量元素實部和虛部為橫、縱坐標(biāo)繪制一條曲線。4.1.1 繪制二維曲線t=linspace(0,2*pi,100);x=cos(t)+1i*sin(t);y=x;2*x;3*x;plot(y)4.1 二維曲線的繪制1plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(3)當(dāng)plot函數(shù)有多個輸入?yún)?shù),且都為向量時,即plot(x1, y1, x2, y2

4、, , xn, yn)其中,x1和y1、x2和y2、xn和yn分別組成一組向量對,以每一組向量對為橫、縱坐標(biāo)繪制出一條曲線。4.1.1 繪制二維曲線t1=linspace(0,3*pi,90);x=cos(t1)+t1.*sin(t1);t2=linspace(0,2*pi,50);y=sin(t2)-t2.*cos(t2);plot(t1,x,t2,y);4.1 二維曲線的繪制2fplot函數(shù)根據(jù)參數(shù)函數(shù)的變化特性自適應(yīng)地設(shè)置采樣間隔。當(dāng)函數(shù)值變化緩慢時,設(shè)置的采樣間隔大;當(dāng)函數(shù)值變化劇烈時,設(shè)置的采樣間隔小。fplot函數(shù)的基本調(diào)用格式為:fplot(fun, lims)其中,fun代表定

5、義曲線y坐標(biāo)的函數(shù),通常采用函數(shù)句柄的形式。lims為x軸的取值范圍,用二元行向量xmin,xmax描述,默認(rèn)為-5, 5。4.1.1 繪制二維曲線4.1 二維曲線的繪制【例4.2】用fplot函數(shù)繪制曲線 ,x0 4。從2016a版本開始,MATLAB提供了fplot函數(shù)的雙輸入?yún)?shù)的用法:fplot(funx, funy, lims)其中,funx、funy代表函數(shù),通常采用函數(shù)句柄的形式。lims為參數(shù)函數(shù)funx和funy的自變量的取值范圍,用二元向量tmin,tmax描述。例如,例4.1也可以用以下命令實現(xiàn):4.1.1 繪制二維曲線 fplot(x)sin(x.2)./x,0,4*p

6、i) fplot(t)sin(t)+sin(2*t), (t)cos(t)-cos(2*t), 0,2*pi)4.1 二維曲線的繪制4.1.1 繪制二維曲線 fimplicit(x,y)x.*x.*x+y.*y.*y-5*x.*y+1/5)4.1 二維曲線的繪制1曲線基本屬性為了加強對比效果,我們常常會在plot函數(shù)中加上選項,用于指定所繪曲線的線型、顏色和數(shù)據(jù)點標(biāo)記。4.1.2 設(shè)置曲線樣式4.1 二維曲線的繪制1曲線基本屬性要設(shè)置曲線樣式可以在plot函數(shù)、fplot函數(shù)中加繪圖選項,其調(diào)用格式為:plot(x,y,選項)plot(x1,y1,選項1,x2,y2,選項2,xn,yn,選項n

7、)fplot(funx,選項)fplot(funx,funy,選項)4.1.2 設(shè)置曲線樣式4.1 二維曲線的繪制4.1.2 設(shè)置曲線樣式x=linspace(-3,3,1000);y1=x.*x-3;y2=2*sin(x)+3*cos(x);k=find(abs(y1-y2) t=linspace(0,2*pi,121); plot(t,sin(2*t),Color,0 0 0,. %設(shè)置曲線為黑色 LineWidth,2,. %設(shè)置曲線線寬為2 Marker,o,. %設(shè)置曲線標(biāo)記為圓 MarkerIndices,1 31 61 91 121,. %在4個點顯示標(biāo)記 MarkerEdgeC

8、olor,r,. %設(shè)置曲線標(biāo)記外框為紅色 MarkerFaceColor,y,. %設(shè)置曲線標(biāo)記內(nèi)填充黃色 MarkerSize,8) %設(shè)置曲線標(biāo)記大小為84.1 二維曲線的繪制1圖形標(biāo)注圖形標(biāo)注函數(shù)的調(diào)用格式如下。title(坐標(biāo)軸標(biāo)題)xlabel(x軸說明)ylabel(y軸說明)text(x, y, 圖形說明)legend(圖例1, 圖例2, )title函數(shù)用于給坐標(biāo)軸添加標(biāo)題;xlabel、ylabel分別用于給x軸、y軸添加說明;text函數(shù)用于在指定位置(x,y)添加圖形說明;legend函數(shù)用于添加圖例,說明繪制曲線所用線型、顏色或數(shù)據(jù)點標(biāo)記。4.1.3 圖形標(biāo)注與坐標(biāo)控

9、制4.1 二維曲線的繪制1圖形標(biāo)注說明文字,除使用常規(guī)字符外,還可使用TeX標(biāo)識符輸出其他字符和標(biāo)識,如希臘字母、數(shù)學(xué)符號、公式等。在MATLAB支持的TeX字符串中,用bf、it、rm標(biāo)識符分別定義字形為加粗、傾斜和常規(guī)字體。表4.5中的各個字符既可以單獨使用,又可以和其他字符及命令聯(lián)合使用。為了將控制字符串、TeX標(biāo)識符與輸出字符分隔開來,可以用大括號界定控制字符串以及受控制字符串的起始和結(jié)束。例如:4.1.3 圖形標(biāo)注與坐標(biāo)控制 text(0.3,0.5,sin(omegat+beta) %標(biāo)注sin(t+)4.1 二維曲線的繪制上標(biāo)由 引導(dǎo),下標(biāo)由 _ 引導(dǎo)【例4.4】在0 x2區(qū)間內(nèi)

10、,繪制曲線y1=e0.5x和y2=e0.5x cos(4x),并添加圖形標(biāo)注。4.1.3 圖形標(biāo)注與坐標(biāo)控制x=0:pi/100:2*pi;y1=exp(-0.5*x);y2=exp(-0.5*x).*cos(4*pi*x);plot(x,y1,x,y2)title(x from 0 to 2pi); %添加坐標(biāo)軸標(biāo)題xlabel(Variable X);%添加X軸說明ylabel(Variable Y);%添加Y軸說明text(1.5,0.5,曲線y_1=e-0.5x);%在指定位置添加圖形說明text(3,-0.2,曲線y_2=cos(4pix)e-0.5x); legend(y_1,y_

11、2)%添加圖例4.1 二維曲線的繪制2坐標(biāo)控制調(diào)用axis函數(shù)來實現(xiàn)。axis(xmin,xmax,ymin,ymax,zmin,zmax)系統(tǒng)按照給出的三個坐標(biāo)軸的最小值和最大值設(shè)置坐標(biāo)軸范圍,通常,繪制二維圖形時只給出前4個參數(shù)。例如: axis(-pi, pi, -4, 4)axis函數(shù)其他用法如下。axis auto:使用默認(rèn)設(shè)置。axis equal:縱、橫坐標(biāo)軸采用等長刻度。axis square:產(chǎn)生正方形坐標(biāo)軸(默認(rèn)為矩形)。axis on:顯示坐標(biāo)軸。axis off:不顯示坐標(biāo)軸。4.1.3 圖形標(biāo)注與坐標(biāo)控制4.1 二維曲線的繪制2坐標(biāo)控制給坐標(biāo)軸加網(wǎng)格線用grid命令來

12、控制。grid on命令控制顯示網(wǎng)格線grid off命令控制不顯示網(wǎng)格線不帶參數(shù)的grid命令用于在兩種狀態(tài)之間進行切換。給坐標(biāo)軸加邊框用box命令。box命令的使用方法與grid命令相同。如果程序中沒有出現(xiàn)box命令,默認(rèn)是有邊框線的。4.1.3 圖形標(biāo)注與坐標(biāo)控制4.1 二維曲線的繪制【例4.5】繪制曲線 及其包絡(luò)線,x0 。4.1.3 圖形標(biāo)注與坐標(biāo)控制t=0:pi/100:pi;y1=sin(t).*1;-1;%包絡(luò)線函數(shù)值y2=sin(t).*sin(9*t);plot(t,y1;y2)grid on;%加網(wǎng)格線box on;%加坐標(biāo)邊框axis equal%坐標(biāo)軸采用等刻度4.1

13、 二維曲線的繪制1圖形窗口的分割subplot函數(shù),用來實現(xiàn)對當(dāng)前圖形窗口的分割。subplot函數(shù)的調(diào)用格式為:subplot(m, n, p)其中,參數(shù)m和n表示將圖形窗口分成m行n列個繪圖區(qū),區(qū)號按行優(yōu)先編號。第3個參數(shù)指定第p個區(qū)為當(dāng)前活動區(qū),若p是向量,則表示將向量中的幾個區(qū)合成1個繪圖區(qū)。4.1.4 多圖形顯示4.1 二維曲線的繪制【例4.6】在圖形窗口中,以子圖形式同時繪制多根曲線。4.1.3 圖形標(biāo)注與坐標(biāo)控制x=-3:0.1:3;subplot(2,2,2); % 將圖形窗口劃分成224個子圖,選定2區(qū)為當(dāng)前活動區(qū)。y2 = sin(2.*x.2); plot(x,y2);x

14、label(b); axis(-3 3 -1.2 1.2)subplot(2,2,4);y3 = cos(x.3); plot(x,y3);xlabel(c); axis(-3 3 -1.2 1.2); grid on;subplot(2,2,1 3); %選定1和3號區(qū)為當(dāng)前活動區(qū)fplot(x)(x-cos(x.3)-sin(2*x.2),-3 3); xlabel(a);4.1 二維曲線的繪制2圖形疊加在已存在的圖形上再疊加新的圖形,可使用圖形保持命令hold。hold on命令控制保持原有圖形,hold off命令控制刷新圖形窗口,不帶參數(shù)的hold命令控制在兩種狀態(tài)之間進行切換。例如

15、:4.1.4 多圖形顯示t=linspace(0,2*pi,200);x=sin(t)+sin(2*t);y=cos(t)-cos(2*t);plot(x,y); %繪制三個葉片axis equalhold on %保持原有圖形fplot(x)sin(x),(x)cos(x),-pi,pi) %繪制圓4.1 二維曲線的繪制3具有兩個縱坐標(biāo)標(biāo)度的圖形在同一個坐標(biāo)軸繪制具有不同縱坐標(biāo)標(biāo)度的兩個圖形,可以使用yyaxis函數(shù)4.1.4 多圖形顯示yyaxis leftyyaxis rightyyaxis(ax, left)yyaxis(ax, right)4.1 二維曲線的繪制【例4.7】用不同標(biāo)度

16、在同一坐標(biāo)軸內(nèi)繪制曲線y1=0.2e0.5xcos(2x)和y2=1.5e0.5xcos(x)。4.1.4 多圖形顯示x=0:pi/50:2*pi;y1=0.2*exp(-0.5*x).*cos(2*x);yyaxis rightplot(x,y1)text(2,0.2*exp(-0.5*2)*cos(2*2),曲線y_1);y2=1.5*exp(-0.5*x).*cos(pi*x);yyaxis leftplot(x,y2)text(2,1.5*exp(-0.5*2)*cos(pi*2),曲線y_2);4.1 二維曲線的繪制1對數(shù)坐標(biāo)圖形semilogx(x1, y1, 選項1, x2, y

17、2, 選項2, )semilogy(x1, y1, 選項1, x2, y2, 選項2, )loglog(x1, y1, 選項1, x2, y2, 選項2, )semilogx函數(shù)使用半對數(shù)坐標(biāo),x軸為常用對數(shù)刻度,y軸為線性刻度。semilogy函數(shù)也使用半對數(shù)坐標(biāo),x軸為線性刻度,y軸為常用對數(shù)刻度。loglog函數(shù)使用全對數(shù)坐標(biāo),x軸和y軸均采用常用對數(shù)刻度。4.1.5 其他坐標(biāo)系下的曲線4.1 二維曲線的繪制【例4.8】繪制y=ex的對數(shù)坐標(biāo)圖并與直角線性坐標(biāo)圖進行比較。4.1.5 其他坐標(biāo)系下的曲線x=0:0.1:10;y=exp(-x);subplot(2,2,1);plot(x,y

18、);title(plot(x,y);grid on;subplot(2,2,2);semilogx(x,y);title(semilogx(x,y);grid on;subplot(2,2,3);semilogy(x,y);title(semilogy(x,y);grid on;subplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on;4.1 二維曲線的繪制2極坐標(biāo)圖MATLAB中用polarplot函數(shù)來繪制極坐標(biāo)圖,其調(diào)用格式為:polarplot(theta, rho, 選項)其中,theta為極坐標(biāo)極角,rho為極坐標(biāo)極徑4.1.5 其他

19、坐標(biāo)系下的曲線4.1 二維曲線的繪制4.1.5 其他坐標(biāo)系下的曲線t = 0:pi/100:2*pi;r = 1-sin(t);subplot(1,2,1)polarplot(t,r)subplot(1,2,2)r1 = 1-sin(t-pi/2) ; %旋轉(zhuǎn)角度為負數(shù),圖形逆時針方向旋轉(zhuǎn)polarplot(t,r1)4.1 二維曲線的繪制3等高線圖contour(X, Y, Z,n ,v)contourf(X, Y, Z,n ,v)其中, X和Y分別表示平面上的橫坐標(biāo)和縱坐標(biāo),Z表示高程。當(dāng)X和Y是矩陣時,大小應(yīng)和Z相同;參數(shù)n指定用n條水平線來繪制等高線;v是單調(diào)遞增向量,其中的每一個元素

20、對應(yīng)一條水平線的值,等高線的個數(shù)為v中元素的個數(shù)。contour函數(shù)用于繪制常規(guī)等高線圖contourf函數(shù)用于繪制填充方式的等高線圖。4.1.5 其他坐標(biāo)系下的曲線4.1 二維曲線的繪制3等高線圖調(diào)用colorbar函數(shù)在指定位置顯示顏色條。colorbar(位置)位置可取值包括:north(坐標(biāo)軸的上部)、south(坐標(biāo)軸的下部)、east(坐標(biāo)軸的右部)、west(坐標(biāo)軸的左部)、northoutside(坐標(biāo)軸上)、southoutside(坐標(biāo)軸下)、eastoutside(坐標(biāo)軸右)、westoutside(坐標(biāo)軸左)、manual。例如: contour(peaks(40),2

21、0) colorbar4.1.5 其他坐標(biāo)系下的曲線4.2 其他二維圖形的繪制1條形圖函數(shù)用于顯示不同時間點的數(shù)據(jù)大小或比較各組數(shù)據(jù)的大小。bar函數(shù)的基本調(diào)用格式為:bar(x, width, style)參數(shù)x存儲繪圖數(shù)據(jù)。選項width設(shè)置條形的相對寬度和控制在一組內(nèi)條形的間距,默認(rèn)寬度為0.8;選項style用于指定分組排列模式,類型有g(shù)rouped(簇狀分組)、stacked(堆積)、histc(橫向直方圖)、hist(縱向直方圖),默認(rèn)采用簇狀分組排列模式。4.2.1 條形類圖形4.2 其他二維圖形的繪制【例4.10】表4.7所示為某公司3類產(chǎn)品各季度的銷售額(單位:萬元),分別按

22、季度繪制簇狀柱形圖和堆積條形圖。4.2.1 條形類圖形x=51,82,34,47;67,78,68,90;78,85,65,50;subplot(2,1,1);bar(x);title(Group);subplot(2,1,2);barh(x,stacked);title(Stack);4.2 其他二維圖形的繪制2直方圖函數(shù)MATLAB提供了繪制直方圖的histogram函數(shù)和繪制帕累托圖的pareto函數(shù)。histogram函數(shù)的基本調(diào)用格式為:histogram (x, nbins) 參數(shù)x存儲繪圖數(shù)據(jù)。選項nbins用于設(shè)置統(tǒng)計區(qū)間的劃分方式。若nbins是一個正整數(shù),則統(tǒng)計區(qū)間均分成n

23、bins個小區(qū)間;若nbins是向量,則向量中的每一個元素指定各區(qū)間的最小值,默認(rèn)按x中的值自動確定劃分的區(qū)間數(shù)。4.2.1 條形類圖形4.2 其他二維圖形的繪制3玫瑰花圖又稱為角度直方圖。MATLAB提供rose函數(shù)繪制玫瑰花圖,rose函數(shù)的用法如下:rose(theta, nbins)參數(shù)theta是一個向量,用于確定每一區(qū)間與原點的角度。繪圖時將圓劃分為若干個角度相同的扇形區(qū)域,每一扇形區(qū)域三角形的高度反映了落入該區(qū)間的theta元素的個數(shù)。若nbins是標(biāo)量,則在 0,2 區(qū)間內(nèi)均勻劃分為nbins個扇形區(qū)域;若nbins為向量,指定分組中心值,nbins元素的個數(shù)為數(shù)據(jù)分組數(shù),默認(rèn)

24、為20。4.2.1 條形類圖形4.2 其他二維圖形的繪制1扇形統(tǒng)計圖pie函數(shù)的基本調(diào)用格式為:pie(x, explode)參數(shù)x存儲繪圖數(shù)據(jù)。explode是與x同等大小的向量或矩陣,與explode的非零值對應(yīng)的部分將從餅圖中心分離出來。explode缺省時,餅圖是一個整體。例如,用餅圖分析例4.10中產(chǎn)品A該年度各季度的產(chǎn)品銷售情況:4.2.2 面積類圖形x=51,82,34,47;67,78,68,90;78,85,65,50;pie(x(:,1),0 0 0 1) %對應(yīng)第四季度的部分從餅圖中心分離title(產(chǎn)品A銷售情況);legend(一季度,二季度,三季度,四季度);4.2

25、 其他二維圖形的繪制2面積圖area函數(shù)的基本調(diào)用格式為:area(Y, basevalue)若Y是向量,以Y為縱坐標(biāo)繪制一條曲線;若Y是矩陣,則矩陣Y 的每一列元素對應(yīng)一條曲線,堆疊繪制多條曲線。選項basevalue指定區(qū)域的基值,默認(rèn)為0。例如,將例4.10的產(chǎn)品銷售情況用面積圖描述,使用以下命令:4.2.2 面積類圖形 x=51,82,34,47;67,78,68,90;78,85,65,50; area(x);4.2 其他二維圖形的繪制3實心圖fill函數(shù)用于繪制實心圖,其調(diào)用格式為:fill(x1,y1,選項1,x2,y2,選項2,)按向量元素下標(biāo)漸增次序依次用直線段連接x、y對應(yīng)

26、元素定義的數(shù)據(jù)點。若連接所得折線不封閉,MATLAB將自動把該折線的首尾連接起來?!纠?.11】繪制一個藍色的六邊形。4.2.2 面積類圖形dt=2*pi/6; st=0:dt:2*pi;x=sin(t);y=cos(t);fill(x,y,b);axis(-1.5 1.5 -1.5 1.5)4.2 其他二維圖形的繪制3實心圖scatter函數(shù)常用于呈現(xiàn)二維空間中數(shù)據(jù)點的分布情況,其基本調(diào)用格式為:scatter(x, y, s, c, fill)參數(shù)x和y存儲繪圖數(shù)據(jù);選項s指定各個數(shù)據(jù)點的大??;選項c指定繪圖所使用的色彩。如果數(shù)據(jù)點標(biāo)記符號是封閉圖形,如圓圈或方塊,可以用選項filled指

27、定填充數(shù)據(jù)點標(biāo)記,默認(rèn)數(shù)據(jù)點是空心的。4.2.3 散點類圖形4.2 其他二維圖形的繪制【例4.12】表4.9所示為某冷飲點熱飲銷售與氣溫關(guān)系的記錄,繪制散點圖觀察熱飲銷售隨氣溫變化的趨勢。4.2.3 散點類圖形t=-5,0,4,7,12,15,19,23,27,31,36;y=156,150,132,128,130,116,104,89,93,76,54;scatter(t,y,50)4.2 其他二維圖形的繪制compass函數(shù)用從原點發(fā)射出的箭頭表示矢量,繪制的圖形又稱為羅盤圖;feather函數(shù)用從x軸發(fā)射出的箭頭表示矢量,繪制的圖形又稱為羽毛圖;quiver、quiver3函數(shù)用從空間指

28、定位置發(fā)射出的箭頭表示位置矢量,繪制的圖形又稱為箭頭圖或速度圖。函數(shù)的基本調(diào)用格式為:compass(z) 或 compass(u,v)feather(z) 或 feather(u,v)quiver(x, y, u, v)quiver3(x,y,z,u,v,w)z為復(fù)型量。繪制圖形時,quiver函數(shù)以(x, y)為起點,quiver3函數(shù)以(x, y, z)為起點, u、v、w為x、y、z方向的速度分量。4.2.4 矢量場圖形4.2 其他二維圖形的繪制4.2.4 矢量場圖形z=1+1i,0.5i,-1-0.5i,0.5-0.5i;subplot(2,2,1)compass(z)subplot

29、(2,2,2)feather(z)subplot(2,2,3)quiver(0,0,0,0,0,0,0,0,real(z),imag(z)subplot(2,2,4)quiver(1,2,3,4,0,0,0,0,real(z),imag(z)4.3 三維圖形的繪制1plot3函數(shù)基本調(diào)用格式為:plot3(x, y, z, 選項) 參數(shù)x、y、z組成一組曲線的空間坐標(biāo)。通常,x、y和z為長度相同的向量, x、y、z對應(yīng)元素構(gòu)成一條曲線上各數(shù)據(jù)點的空間坐標(biāo);當(dāng)x、y、z是同樣大小的矩陣時,則以x、y、z對應(yīng)列元素作為數(shù)據(jù)點坐標(biāo),曲線條數(shù)等于矩陣列數(shù)。當(dāng)x、y、z中有向量,也有矩陣時,行向量的長度

30、與矩陣的列數(shù)相同,列向量的長度與矩陣的行數(shù)相同。4.3.1 三維曲線4.3 三維圖形的繪制【例4.13】繪制三維曲線。4.3.1 三維曲線t=0:pi/20:10*pi;x=sin(t)+t.*cos(t);y=cos(t)-t.*sin(t);z=t;plot3(x,y,z);title(螺旋線);xlabel(X);ylabel(Y);zlabel(Z);grid on;4.3 三維圖形的繪制2fplot3函數(shù)根據(jù)參數(shù)函數(shù)的變化特性自適應(yīng)地設(shè)置采樣間隔。當(dāng)函數(shù)值變化緩慢時,設(shè)置的采樣間隔大;當(dāng)函數(shù)值變化劇烈時,設(shè)置的采樣間隔小。fplot3函數(shù)的基本調(diào)用格式為:fplot3(funx, f

31、uny, funz, lims, 選項)參數(shù)funx、funy、funz代表定義曲線x、y、z坐標(biāo)的函數(shù),通常采用函數(shù)句柄的形式。lims為參數(shù)函數(shù)自變量的取值范圍,用二元向量tmin, tmax描述,默認(rèn)為-5,5。4.3.1 三維曲線4.3 三維圖形的繪制【例4.14】繪制三維曲線。4.3.1 三維曲線fx=(t)sin(t)+t.*cos(t);fy=(t)cos(t)-t.*sin(t);fz=(t)t;fplot3(fx,fy,fz,0,10*pi);4.3 三維圖形的繪制1產(chǎn)生網(wǎng)格坐標(biāo)矩陣將x方向區(qū)間a,b分成m份,將y方向區(qū)間c,d分成n份,由各劃分點分別作平行于兩坐標(biāo)軸的直線,

32、將區(qū)域a,bc,d分成mn個小網(wǎng)格,生成代表每一個小網(wǎng)格頂點坐標(biāo)的網(wǎng)格坐標(biāo)矩陣。4.3.2 三維曲面4.3 三維圖形的繪制1產(chǎn)生網(wǎng)格坐標(biāo)矩陣在MATLAB中,產(chǎn)生平面區(qū)域內(nèi)的網(wǎng)格坐標(biāo)矩陣有兩種方法。(1)利用矩陣運算生成。(2)調(diào)用meshgrid函數(shù)生成二維網(wǎng)格坐標(biāo)矩陣:X,Y = meshgrid(x,y)4.3.2 三維曲面 a = 2:6; b = (3:8); X = a; a; a; a; a; a; Y = b, b, b, b, b; a = 2:6; b = (3:8); X,Y=meshgrid(a,b);4.3 三維圖形的繪制2mesh函數(shù)和surf函數(shù)mesh函數(shù)用于繪

33、制三維網(wǎng)格圖,surf函數(shù)用于繪制三維曲面圖。surf函數(shù)和mesh函數(shù)的調(diào)用格式為mesh(x, y, z, c)surf(x, y, z, c)x、y定義網(wǎng)格頂點的xy平面坐標(biāo),z定義網(wǎng)格頂點的高度。選項c用于指定在不同高度下的補面顏色。4.3.2 三維曲面4.3 三維圖形的繪制【例4.15】繪制三維曲面圖z=sinx2+cosy2,x0,y0,/2。4.3.2 三維曲面x,y=meshgrid(0:pi/50:pi, 0:pi/50:pi/2);z=sin(x.2)+cos(y.2);subplot(1,2,1)mesh(x,y,z);subplot(1,2,2)surf(x,y,z);

34、 4.3 三維圖形的繪制【例4.16】在xy平面內(nèi)選擇區(qū)域2,2 2,2,繪制函數(shù) 的4種三維曲面圖。4.3.2 三維曲面vx=linspace(-2, 2, 25); x,y=meshgrid(vx); z= -exp(-x.2-y.2); subplot(2,2,1);meshz(x,y,z)title(meshz(x,y,z)subplot(2,2,2);meshc(x,y,z);title(meshc(x,y,z)subplot(2,2,3);surfl(x,y,z);title(surfl(x,y,z)subplot(2,2,4);surfc(x,y,z);title(surfc(x

35、,y,z)4.3 三維圖形的繪制3fmesh函數(shù)和fsurf函數(shù)根據(jù)參數(shù)函數(shù)的變化特性自適應(yīng)地設(shè)置網(wǎng)格頂點間距。fmesh(funx, funy, funz, lims, 選項)fsurf(funx, funy, funz, lims, 選項)fsurf(funx, funy, funz, lims, 選項)參數(shù)funx、funy、funz代表定義曲面網(wǎng)格頂點x、y、z坐標(biāo)的函數(shù),通常采用函數(shù)句柄的形式。參數(shù)函數(shù)funx、funy、funz有兩個自變量,lims為自變量的取值范圍,用4元向量umin, umax, vmin, vmax描述,umin、vmin為自變量的下限,umax、vmax為

36、自變量的上限,默認(rèn)為-5, 5, -5, 5。4.3.2 三維曲面4.3 三維圖形的繪制【例4.15】用fmesh函數(shù)和fsurf函數(shù)繪制三維曲面圖z=sinx2+cosy2,x0,y0,/2。4.3.2 三維曲面subplot(1,2,1)fmesh(x,y)sin(x.2)+cos(y.2),0,pi,0,pi/2);subplot(1,2,2)fsurf(x,y)sin(x.2)+cos(y.2),0,pi,0,pi/2);4.3 三維圖形的繪制4標(biāo)準(zhǔn)三維曲面(1)sphere函數(shù)用于繪制三維球面,其調(diào)用格式為x,y,z=sphere(n)該函數(shù)將產(chǎn)生3個(n + 1)階的方陣x、y、z

37、,采用這3個矩陣可以繪制出圓心位于原點、半徑為1的單位球體。若在調(diào)用該函數(shù)時不帶輸出參數(shù),則直接繪制球面。選項n決定了球面的圓滑程度,n越大,繪制出的球體表面越光滑,默認(rèn)值為20。4.3.2 三維曲面4.3 三維圖形的繪制4標(biāo)準(zhǔn)三維曲面(2)cylinder函數(shù)用于繪制柱面,其調(diào)用格式為x,y,z = cylinder(R,n)其中,選項R是一個向量,存放柱面各個等間隔高度上的半徑,默認(rèn)為1,即圓柱的底面半徑為1;選項n表示在圓柱圓周上有n個間隔點,默認(rèn)有20個間隔點。4.3.2 三維曲面4.3 三維圖形的繪制4標(biāo)準(zhǔn)三維曲面(2)cylinder函數(shù)4.3.2 三維曲面subplot(1,3,

38、1)cylinder(3) %繪制一個底面半徑為3的圓柱面subplot(1,3,2)cylinder(0:0.1:1.5) %參數(shù)是線性漸變的向量,繪制一個圓錐面x=0:pi/20:2*pi;R=2+sin(x);subplot(1,3,3)cylinder(R,30) %R是向量4.3 三維圖形的繪制4標(biāo)準(zhǔn)三維曲面(3)peaks函數(shù)。peaks函數(shù)也稱為多峰函數(shù),常用于生成平面網(wǎng)格頂點的高度矩陣?;菊{(diào)用格式為:Z = peaks(n)Z = peaks(V)Z = peaks(X,Y)第1種格式中的參數(shù)n指定將3,3 區(qū)間劃分成n-1等分,生成一個n階方陣,默認(rèn)為49階方陣。第2種格式

39、的參數(shù)V是一個向量,生成1個方陣。第3種格式中的參數(shù)X、Y是大小相同的矩陣,定義平面網(wǎng)格頂點坐標(biāo)。若在調(diào)用peaks函數(shù)時不帶輸出參數(shù),則直接繪制出多峰函數(shù)曲面。4.3.2 三維曲面4.3 三維圖形的繪制4.3.2 三維曲面 fimplicit3(x,y,z)x.2+y.2-z.2/4-1,-3,3)4.4 圖形修飾處理MATLAB的視點位置用方位角和仰角表示。方位角又稱旋轉(zhuǎn)角,是視點與原點連線在xy平面上的投影與y軸負方向形成的角度,正值表示逆時針,負值表示順時針。仰角又稱視角,是視點與原點連線與xy平面的夾角,正值表示視點在xy平面上方,負值表示視點在xy平面下方。4.4.1 視點處理4.

40、4 圖形修飾處理MATLAB提供了設(shè)置視點的函數(shù)view,其調(diào)用格式為view(az, el)view(x, y, z)view(2)view(3)第1種格式中,az為方位角,el為仰角,以度為單位。第2種格式中,x、y、z為視點在笛卡爾坐標(biāo)系中的位置。第3種格式設(shè)置從二維平面觀察圖形,即az=0,el=90。第4種格式設(shè)置從三維空間觀察圖形,視點使用默認(rèn)方位角和仰角(az=-37.5,el=30)。4.4.1 視點處理4.4 圖形修飾處理4.4.1 視點處理x,y=meshgrid(0:0.1:2,1:0.1:3);z=2*(x-1).2+(y-2).2;subplot(2,2,1) mes

41、h(x,y,z)title(方位角=-37.5circ,仰角=30circ)subplot(2,2,2)mesh(x,y,z)view(2);title(方位角=0circ,仰角=90circ)subplot(2,2,3)mesh(x,y,z)view(90,0); title(方位角=90circ,仰角=0circ)subplot(2,2,4)mesh(x,y,z)view(-45,-60); title(方位角=-45circ,仰角=-60circ)4.4 圖形修飾處理1色圖色圖(Colormap)是MATLAB填充表面所使用的顏色參照表。色圖是一個m3 的數(shù)值矩陣,其每一行是一個RGB三

42、元組。MATLAB中使用函數(shù)colormap設(shè)置和獲取當(dāng)前圖形所使用的色圖,函數(shù)的調(diào)用格式為colormap cmapnamecolormap(cmap)cmap = colormap參數(shù)cmapname是內(nèi)建的色圖函數(shù),cmap是色圖矩陣。第1、2種格式用于設(shè)置色圖,第3種格式用于獲取當(dāng)前色圖。4.4.2 色彩處理4.4 圖形修飾處理1色圖例如,使用以下命令,創(chuàng)建一個灰色系列色圖矩陣。 c = 0,0.2,0.4,0.6,0.8,1; cmap = c,c,c;也可以調(diào)用MATLAB提供的色圖函數(shù)來定義色圖矩陣。 M=gray; %生成643的灰度色圖矩陣 P=gray(6); %生成63的

43、灰度色圖矩陣 Q=gray(2); %生成23的灰度色圖矩陣,只有黑、白兩種顏色4.4.2 色彩處理4.4 圖形修飾處理2三維圖形表面的著色用色圖矩陣中定義的各種顏色在每一個網(wǎng)格片上涂抹顏色。以surf函數(shù)為例,說明與著色有關(guān)的屬性的設(shè)置方法。方法如下:surf(X, Y, Z, 選項,值)選項包括FaceColor和EdgeColor,分別用于設(shè)置網(wǎng)格片和網(wǎng)格邊框線的著色方式,可取值有: flat:每個網(wǎng)格片內(nèi)用系統(tǒng)默認(rèn)色圖中的單一顏色填充,這是系統(tǒng)的默認(rèn)方式。interp:每個網(wǎng)格片內(nèi)填充漸變色,漸變采用插值法計算。none:每個網(wǎng)格片內(nèi)不填充顏色。texturemap:每個網(wǎng)格片內(nèi)用紋理

44、填充。RGB三元組或顏色字符:每個網(wǎng)格片內(nèi)用指定的顏色填充。4.4.2 色彩處理4.4 圖形修飾處理【例4.19】使用統(tǒng)一色圖,以不同著色方式繪制圓錐體。4.4.2 色彩處理x,y,z= cylinder(pi:-pi/5:0,10);colormap(lines);subplot(1,3,1);surf(x,y,z)subplot(1,3,2);surf(x,y,z,Facecolor,interp)subplot(1,3,3);surf(x,y,z,Facecolor,none);4.4 圖形修飾處理3圖形表面的色差用shading命令來改變色差,從而影響圖形表面著色效果。shading命

45、令的調(diào)用格式為shading 選項選項有如下3種取值。faceted:將每個網(wǎng)格片用色圖中與其高度對應(yīng)的顏色進行著色,網(wǎng)格線是黑色。這是系統(tǒng)的默認(rèn)著色方式。interp:在網(wǎng)格片內(nèi)和網(wǎng)格間的色差采用插值處理,無網(wǎng)格線。flat:將每個網(wǎng)格片用同一個顏色進行著色,網(wǎng)格線的顏色與網(wǎng)格片的顏色相同。4.4.2 色彩處理4.4 圖形修飾處理【例4.20】不同色差對圖形顯示效果的影響。4.4.2 色彩處理x,y,z= cylinder(pi:-pi/5:0,10);colormap(gray);subplot(1,3,1);surf(x,y,z); subplot(1,3,2);surf(x,y,z); shading interp; subplot(1,3,3);surf(x,y,z); shading flat; 4.4 圖形修飾處理將圖形中需要裁剪部分對應(yīng)的函數(shù)值設(shè)置成NaN,這樣在繪制圖形時,函數(shù)值為NaN的部分將不顯示出來,從而達到對圖形進行裁剪的目的。4.4.3 圖形的裁剪處理4.4 圖形修飾處理【例4.21】繪制三維曲面

溫馨提示

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

評論

0/150

提交評論