MATLAB基礎(chǔ)與實例進(jìn)階-05_第1頁
MATLAB基礎(chǔ)與實例進(jìn)階-05_第2頁
MATLAB基礎(chǔ)與實例進(jìn)階-05_第3頁
MATLAB基礎(chǔ)與實例進(jìn)階-05_第4頁
MATLAB基礎(chǔ)與實例進(jìn)階-05_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/2/4機械工業(yè)出版社Page1第5章MATLAB圖形繪制【學(xué)習(xí)目標(biāo)】了解MATLAB的圖形繪制流程掌握MATLAB的二維圖形繪制初步掌握MATLAB的三維圖形繪制2023/2/4機械工業(yè)出版社Page2第5章MATLAB圖形繪制

圖形繪制基本流程5.1二維圖形繪制5.2三維圖形繪制5.32023/2/4機械工業(yè)出版社Page35.1圖形繪制基本流程準(zhǔn)備繪圖數(shù)據(jù);創(chuàng)建圖形窗口并選擇繪圖區(qū);調(diào)用繪圖函數(shù)繪制圖形;設(shè)置曲線(曲面)樣式和標(biāo)記屬性;設(shè)置坐標(biāo)范圍和網(wǎng)格線屬性;設(shè)置顏色表;2023/2/4機械工業(yè)出版社Page45.1圖形繪制基本流程設(shè)置光照效果;設(shè)置視角;給圖形添加標(biāo)注;保存或?qū)С鰣D形。上面10個步驟中,第6、7、8三步只在繪制三維圖形時需要考慮;另外,從第4步到第9步的操作順序并非是不可更改的,它們的順序沒有先后之分。2023/2/4機械工業(yè)出版社Page55.1圖形繪制基本流程【例5-1】繪制下面三角函數(shù):1.準(zhǔn)備繪圖數(shù)據(jù)2.創(chuàng)建圖形窗口并選擇繪圖區(qū)>>x=0:0.1*pi:2*pi;>>y=sin(x)+2*cos(x);>>figure;>>set(gcf,'Position',[232

246

560

420],'Color','w');2023/2/4機械工業(yè)出版社Page65.1圖形繪制基本流程3.調(diào)用繪圖函數(shù)繪制圖形4.設(shè)置曲線樣式和標(biāo)記屬性5.設(shè)置坐標(biāo)范圍和網(wǎng)格線屬性>>h=plot(x,y);>>set(h,'LineStyle','-.');>>set(h,'Marker','*');>>set(h,'Color','r');>>axis([-pi,3*pi,-3,3])>>gridon2023/2/4機械工業(yè)出版社Page75.1圖形繪制基本流程6.給圖形添加標(biāo)注7.保存圖形>>title('thefirstfigure');>>xlabel('橫坐標(biāo)');>>ylabel('縱坐標(biāo)');>>legend('y=cos(x)+2sin(x)');>>print(gcf,'-djpeg','d:\tmp\myfirstfigure.jpeg')2023/2/4機械工業(yè)出版社Page85.1圖形繪制基本流程2023/2/4機械工業(yè)出版社Page95.2二維圖形的繪制5.2.1繪制二維曲線5.2.2設(shè)置曲線樣式5.2.3添加圖形標(biāo)注5.2.4定制坐標(biāo)軸5.2.5多圖形繪制5.2.6子圖繪制5.2.7特殊圖形繪制2023/2/4機械工業(yè)出版社Page10通過例5-1的學(xué)習(xí),大家對MATLAB繪制二維圖形有了初步的認(rèn)識。本節(jié)將進(jìn)一步講解如何利用MATLAB提供的繪圖函數(shù)line、plot和polar實現(xiàn)二維曲線的繪制。5.2.1繪制二維曲線2023/2/4機械工業(yè)出版社Page11利用line函數(shù)繪制二維曲線語法形式:line(X,Y)利用plot函數(shù)繪制二維曲線plot(Y)plot(X1,Y1,…,Xn,Yn)plot(X,Y,LineSpec,…)X、X1…Xn:橫坐標(biāo)值構(gòu)成的數(shù)組;Y、Y1…Yn:縱坐標(biāo)值構(gòu)成的數(shù)組;

LineSpec:曲線樣式設(shè)置參數(shù)。5.2.1繪制二維曲線2023/2/4機械工業(yè)出版社Page12利用plot函數(shù)繪制二維曲線plot(Y)當(dāng)Y是一維數(shù)組時,plot(Y)將(i,Y(i))表示的各點依次連接起來,這里i從1取值到length(Y);若Y是二維數(shù)組,則對Y的每一列進(jìn)行折線繪制。

5.2.1繪制二維曲線2023/2/4機械工業(yè)出版社Page13利用plot函數(shù)繪制二維曲線plot(X1,Y1,…,Xn,Yn)Xn和Yn組成坐標(biāo)對,對應(yīng)所繪制曲線的橫坐標(biāo)和縱坐標(biāo),若有n對,則繪制n條曲線,所有n條曲線繪制在同一幅圖形中,同一個坐標(biāo)系下。

plot(X,Y,LineSpec,…)在繪制指令中同時設(shè)置各條曲線的顏色、線型等屬性5.2.1繪制二維曲線2023/2/4機械工業(yè)出版社Page14利用polar函數(shù)繪制二維曲線polar(theta,rho)polar(theta,rho,LineSpec)其中:theta:角度值構(gòu)成的數(shù)組;rho:半徑值構(gòu)成的數(shù)組;LineSpec:曲線樣式置參數(shù),用于曲線樣式的設(shè)置。5.2.1繪制二維曲線2023/2/4機械工業(yè)出版社Page15曲線樣式包括曲線的線型、線寬、顏色和標(biāo)記點的類型、大小、邊框及填充顏色。其中,線型、標(biāo)記點類型和曲線顏色三種樣式最為常用,用戶可以通過在plot函數(shù)的每一個數(shù)據(jù)數(shù)組對后添加第三個參數(shù)對這三種屬性進(jìn)行設(shè)置。5.2.2設(shè)置曲線樣式2023/2/4機械工業(yè)出版社Page16線型標(biāo)記點類型顏色符號意義符號意義符號意義-實線+加號r紅色--虛線o圓圈g綠色:點線*星號b藍(lán)色-.點劃線.點c青色x叉號m洋紅色s方形y黃色d菱形k黑色^向上三角行w白色v向下三角行>向右三角行<向左三角行p五角星h六角星2023/2/4機械工業(yè)出版社Page17plot函數(shù)設(shè)置曲線基本樣式命令如下:

plot(X,Y,'--*r')

該語句設(shè)置繪制曲線線型為虛線,標(biāo)記點類型為星號,顏色為紅色。plot(…,'PropertyName',PropertyValue,…)

PropertyName:曲線樣式屬性,可以是線寬、標(biāo)記點大小、標(biāo)記點邊框顏色或標(biāo)記點填充顏色;

set(linehandle,'PropertyName',Property)5.2.2設(shè)置曲線樣式2023/2/4機械工業(yè)出版社Page185.2.2設(shè)置曲線樣式PropertyName意義取值LineWidth線寬數(shù)值,單位為pointMarkerSize標(biāo)記點大小數(shù)值,單位為pointMarkerEdgeColor標(biāo)記點邊框顏色顏色字符,如k,w等MarkerFaceColor標(biāo)記點填充顏色顏色字符,如k,w等2023/2/4機械工業(yè)出版社Page19【例5-2】設(shè)置曲線樣式示例。5.2.2設(shè)置曲線樣式x=0:0.2*pi:2*pi;y=tan(sin(x))-sin(tan(x));h=plot(x,y,'--^g');set(h,'LineWidth',2) %設(shè)置線寬set(h,'MarkerSize',10); %設(shè)置標(biāo)記點大小set(h,'MarkerEdgeColor','b'); %設(shè)置標(biāo)記點邊框顏色set(h,'MarkerFaceColor','r'); %設(shè)置標(biāo)記點填充顏色2023/2/4機械工業(yè)出版社Page20【例2-2】設(shè)置曲線樣式示例。5.2.2設(shè)置曲線樣式2023/2/4機械工業(yè)出版社Page21標(biāo)注包括標(biāo)題、橫坐標(biāo)標(biāo)簽、縱坐標(biāo)標(biāo)簽、圖例、顏色條和注釋。MATLAB中添加標(biāo)注的方式多達(dá)五種:命令窗口中用標(biāo)注函數(shù)標(biāo)注、利用圖形編輯工具條標(biāo)注、利用【Insert】菜單選項標(biāo)注、利用圖形面板對象標(biāo)注和在屬性編輯器界面下標(biāo)注。5.2.3添加圖形標(biāo)注2023/2/4機械工業(yè)出版社Page22利用標(biāo)注函數(shù)添加標(biāo)注title:為圖形設(shè)置標(biāo)題;xlabel:為圖形設(shè)置橫坐標(biāo)標(biāo)簽;ylabel:為圖形設(shè)置縱坐標(biāo)標(biāo)簽;legend:為圖形設(shè)置圖例;colorbar:為圖形設(shè)置顏色條;annotation:為圖形添加文本、線條、箭頭、圖框等標(biāo)注元素。5.2.3添加圖形標(biāo)注2023/2/4機械工業(yè)出版社Page23【例5-3】繪制曲線y=tan(sin(x))-sin(tan(x)),用標(biāo)注函數(shù)為圖形添加標(biāo)注。5.2.3添加圖形標(biāo)注x=0:0.2*pi:2*pi;y=tan(sin(x))-sin(tan(x));plot(x,y);title('為圖形添加標(biāo)注示例');xlabel('橫坐標(biāo)');ylabel('縱坐標(biāo)');colorbar;legend('tan(sin(x))-sin(tan(x))');annotation('textbox',[0.2,0.15,0.2,0.1],'String','testtext');2023/2/4機械工業(yè)出版社Page245.2.3添加圖形標(biāo)注2023/2/4機械工業(yè)出版社Page25利用標(biāo)注函數(shù)添加標(biāo)注坐標(biāo)軸標(biāo)簽(XLabel、YLabel和ZLabel)標(biāo)題(Title)圖例(Legend)顏色條(Colorbar)線段(Line)箭頭(Arrow、TextArrow)文本框(TextBox)5.2.3添加圖形標(biāo)注2023/2/4機械工業(yè)出版社Page265.2.3添加圖形標(biāo)注2023/2/4機械工業(yè)出版社Page27利用MATLAB提供的axis命令,用戶可以控制坐標(biāo)軸,并根據(jù)個人喜好對圖形坐標(biāo)軸的坐標(biāo)系、刻度、縱橫比、長度等屬性進(jìn)行設(shè)置。axis命令的一般語法形式如下:axiscomm

axis(‘comm’)5.2.4定制坐標(biāo)軸2023/2/4機械工業(yè)出版社Page28Axis命令用法axis([xmin

xmax

ymin

ymax]):設(shè)置二維圖形的坐標(biāo)范圍;axis([xmin

xmax

ymin

ymax

zmin

zmax

cmin

cmax]):設(shè)置三維圖形的坐標(biāo)范圍;axisauto;將當(dāng)前繪圖區(qū)的坐標(biāo)軸范圍設(shè)置為MATLAB自動調(diào)整的區(qū)間;axismanual:凍結(jié)當(dāng)前坐標(biāo)軸范圍,以后疊加繪制都在當(dāng)前坐標(biāo)范圍內(nèi);axistight:設(shè)置當(dāng)前坐標(biāo)軸范圍為緊密模式5.2.4定制坐標(biāo)軸2023/2/4機械工業(yè)出版社Page29Axis命令用法axisij:設(shè)置坐標(biāo)軸為矩陣模式,i為豎軸,方向從上往下,j為水平軸,方向從左到右;axisxy:設(shè)置坐標(biāo)軸為Cartesian模式,x為水平軸,從左到右,y為豎軸,從下往上;axisnormal:將當(dāng)前坐標(biāo)軸區(qū)域恢復(fù)為全尺寸,并刪除單位刻度的限制;axisoff/on:關(guān)閉/開啟所有的坐標(biāo)軸標(biāo)簽、標(biāo)記刻度和背景;axis(axes_handles,…):對指定坐標(biāo)軸執(zhí)行aixs命令。5.2.4定制坐標(biāo)軸2023/2/4機械工業(yè)出版社Page30【例5-4】定制繪圖坐標(biāo)軸示例。5.2.4定制坐標(biāo)軸x=0:0.1*pi:2*pi;y=sin(x);plot(x,y);%重新設(shè)置坐標(biāo)軸范圍axis([0.2*pi1.8*pi-1.51.5])%將坐標(biāo)軸設(shè)置為坐標(biāo)模式axisij2023/2/4機械工業(yè)出版社Page315.2.4定制坐標(biāo)軸2023/2/4機械工業(yè)出版社Page32在MATLAB圖形繪制中,有時需要在一個已經(jīng)存在的圖形上添加一個新的圖像。利用MATLAB提供的holdon命令可以實現(xiàn)這個目標(biāo)用戶輸入holdon命令將當(dāng)前模式設(shè)置為疊加模式后,當(dāng)輸入新的plot函數(shù)繪制圖形時,MATLAB會將新的圖形加入到當(dāng)前坐標(biāo)系下。5.2.5多圖繪制2023/2/4機械工業(yè)出版社Page33【例5-5】多圖形繪制示例。5.2.5多圖繪制x=0:0.1*pi:2*pi;y=sin(x);plot(x,y);%設(shè)置為疊加繪圖模式holdonz=cos(x);%繪制第二條曲線,顏色為紅色plot(x,z,‘r’);%關(guān)閉疊加模式holdoff2023/2/4機械工業(yè)出版社Page345.2.5多圖繪制2023/2/4機械工業(yè)出版社Page35為使得多幅相關(guān)的圖形的對比更加直觀,同時節(jié)省繪圖空間,用戶常需要在同一個繪圖窗口下繪制多幅子圖,這時就可以使用MATLAB提供的subplot函數(shù)。subplot函數(shù)的一般語法形式為:h=subplot(m,n,p)

5.2.6子圖繪制執(zhí)行該語句,即可在當(dāng)前繪圖區(qū)中創(chuàng)建m×n個繪圖子區(qū),并將第p個繪圖子區(qū)選定為當(dāng)前繪圖區(qū)。2023/2/4機械工業(yè)出版社Page36【例5-6】子圖繪制示例。5.2.6子圖繪制x=1:1:10;y=rand(1,10);%隨機生成包含10個元素數(shù)組yz=rand(1,10);%隨機生成包含10個元素數(shù)組zsubplot(2,1,1);

%選擇2行1列子圖中第1個子圖plot(x,y);title('subfigure1');subplot(2,1,2);

%選擇2行1列子圖中第2個子圖plot(x,z);title('subfigure2');2023/2/4機械工業(yè)出版社Page375.2.6子圖繪制2023/2/4機械工業(yè)出版社Page38在MATLAB中,除line、plot和polar三個用于繪制普通二維圖形的函數(shù)外,還有不少特殊的繪圖函數(shù),利用這些函數(shù),用戶很容易實現(xiàn)統(tǒng)計數(shù)據(jù)的直觀分析。5.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page39繪制柱狀圖函數(shù)bar和barh用于繪制柱狀圖

bar(x,Y,'style')

barh(x,Y,'style')x:一維向量,指示柱狀圖繪制的橫坐標(biāo)位置Y:需要繪制的數(shù)據(jù),當(dāng)它為矩陣時,每一行的多個元素將繪制在同一個橫坐標(biāo)下;‘style’:指定的顯示模式,有'grouped'和'stack'兩種可選值,默認(rèn)值為'grouped‘當(dāng)'style'值為'grouped'時,將矩陣的一行數(shù)據(jù)看作一組,當(dāng)'style'值為'stack'時,層疊繪制5.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page40繪制面積圖MATLAB提供area函數(shù)用來繪制面積圖。和層疊模式的柱狀圖類似,面積圖是一種層疊的區(qū)域圖形;與柱狀圖不同的是,它把每一個數(shù)據(jù)集合的相鄰點用線段連接起來,并且每一個數(shù)據(jù)集合所在區(qū)域用不同的顏色來填充。

area(x,Y)5.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page41【例5-7】柱狀圖和面積圖繪制示例。5.2.7繪制特殊圖形X=[1;2;3;4;5];Y=[512;837;968;555;423];subplot(2,2,1);bar(X,Y);

%繪制縱向組柱狀圖title('縱向-組柱狀圖');subplot(2,2,2);bar(X,Y,'stack');

%繪制縱向?qū)盈B柱狀圖title('縱向-層疊柱狀圖');subplot(2,2,3);barh(X,Y,'stack');

%繪制橫向?qū)盈B柱狀圖title('橫向-層疊柱狀圖');subplot(2,2,4);area(X,Y);

%繪制面積圖title('面積圖');2023/2/4機械工業(yè)出版社Page425.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page43繪制餅圖函數(shù)pie用于繪制餅圖,語法如下:

pie(X)pie(…,labels)X:繪制餅圖的一維向量數(shù)據(jù);labels:字符串?dāng)?shù)組,包含餅圖各個分來那個的文本標(biāo)簽。5.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page44【例5-8】餅圖繪制示例。5.2.7繪制特殊圖形X=rand(1,5);Y=rand(1,6);subplot(1,2,1);

pie(X)subplot(1,2,2);pie(Y)2023/2/4機械工業(yè)出版社Page455.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page46繪制直方圖直方圖統(tǒng)計每個區(qū)間內(nèi)數(shù)據(jù)點的個數(shù),并用柱狀條表示數(shù)據(jù)的分布情況。n=hist(Y,nbins)直角坐標(biāo)系下直方圖繪制

rose(theta,nbins)極坐標(biāo)系下直方圖繪制5.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page47【例5-9】直方圖繪制示例。5.2.7繪制特殊圖形Y=randn(1000,1);%隨機生成一個1000維的向量subplot(1,2,1)%繪制Y在20個bins中的分布直方圖hist(Y,20)theta=2*pi*rand(1,50);%隨機生成一個50維的向量subplot(1,2,2)%繪制theta在20個bins中的玫瑰圖rose(theta)2023/2/4機械工業(yè)出版社Page485.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page495.3三維圖形的繪制5.3.1繪制三維曲線5.3.2繪制三維曲面5.3.3特殊三維圖形繪制5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page50

三維曲線描述的是點在三維空間的變化情況。MATLAB中,三維曲線的繪制函數(shù)是plot3。語法形式如下:

plot3(X1,Y1,Z1,…)plot3(X1,Y1,Z1,LineSpec,…)5.3.1繪制三維曲線2023/2/4機械工業(yè)出版社Page51plot3(X1,Y1,Z1,…)plot3(X1,Y1,Z1,LineSpec,…)X1、Y1和Z1:三個方向上的坐標(biāo)值,尺寸相同LineSpec:對曲線的線型、顏色、線寬、點標(biāo)記樣式等屬性進(jìn)行設(shè)置。當(dāng)X1、Y1和Z1都是二維數(shù)組時,將它們對應(yīng)的每一列當(dāng)作一組數(shù)據(jù)分別繪制曲線,有多少列就有多少條曲線。5.3.1繪制三維曲線2023/2/4機械工業(yè)出版社Page52【例5-10】三維曲線繪制示例。5.3.1繪制三維曲線t=0:pi/20:10*pi;%生成一維數(shù)組subplot(1,2,1),plot3(2*t,sin(t),t)%繪制第一條三維曲線title('第一條3D曲線')gridon;boxon

subplot(1,2,2),plot3(sin(t),cos(t),t)%繪制第二條三維曲線title('第二條3D曲線')gridon%打開網(wǎng)格線開關(guān)2023/2/4機械工業(yè)出版社Page535.2.7繪制特殊圖形2023/2/4機械工業(yè)出版社Page54MATLAB中的曲面圖分為網(wǎng)眼圖和表面圖兩種,它們都建立在平面網(wǎng)格的基礎(chǔ)之上。本小節(jié)首先介紹平面網(wǎng)格的基本知識,在此基礎(chǔ)上介紹三維網(wǎng)格圖和三維表面圖。5.3.2繪制三維曲面2023/2/4機械工業(yè)出版社Page55平面網(wǎng)格MATLAB提供了meshgrid函數(shù),用于在(x,y)所定義的矩陣區(qū)域上創(chuàng)建網(wǎng)格;meshgrid函數(shù)的語法形式為:

[X,Y]=meshgrid(x,y)x、y:指定橫坐標(biāo)和縱坐標(biāo)的一維向量;X、Y:meshgrid函數(shù)的返回值,它們都是二維數(shù)組,X的每一行與向量x對應(yīng),Y的每一列與y對應(yīng)。5.3.2繪制三維曲面2023/2/4機械工業(yè)出版社Page56【例5-11】創(chuàng)建平面網(wǎng)格示例。5.3.1繪制三維曲線>>x=1:4;>>y=6:10;>>[X,Y]=meshgrid(x,y)X=12341234123412341234Y=66667777888899991010

10

102023/2/4機械工業(yè)出版社Page57繪制三維網(wǎng)眼圖mesh函數(shù)用于三維網(wǎng)眼圖的繪制,語法為:

mesh(X,Y,Z)X、Y:網(wǎng)格矩陣數(shù)組,一般是通過meshgrid函數(shù)生成的二維數(shù)組;Z:函數(shù)值數(shù)組,通過函數(shù)z=f(x,y)計算得到。5.3.2繪制三維曲面2023/2/4機械工業(yè)出版社Page58繪制三維網(wǎng)眼圖的三個步驟用函數(shù)meshgrid生成平面網(wǎng)格矩陣;計算平面網(wǎng)格矩陣數(shù)值矩陣Z,即計算(x,y)平面上所有網(wǎng)格點上的z值;調(diào)用函數(shù)mesh繪制網(wǎng)眼圖。Meshc:在繪制網(wǎng)眼圖的同時,在(x,y)平面上繪制函數(shù)的等值線Meshz:在網(wǎng)眼圖的基礎(chǔ)上在圖形的底部外側(cè)繪制平行與z軸的邊框線。5.3.2繪制三維曲面2023/2/4機械工業(yè)出版社Page59【例5-12】繪制三維網(wǎng)眼圖示例。5.3.2繪制三維曲面x=-2:0.2:2;y=x;[X,Y]=

meshgrid(x,y);Z=-3*X+2*Y;subplot(1,2,1);mesh(X,Y,Z)title('mesh網(wǎng)眼圖')Z2=X.^2+Y.^2;subplot(1,2,2);meshc(X,Y,Z2)title('meshc網(wǎng)眼圖')2023/2/4機械工業(yè)出版社Page605.3.2繪制三維曲面2023/2/4機械工業(yè)出版社Page61繪制三維表面圖surf函數(shù)用于三維表面圖的繪制,語法為:

surf(X,Y,Z)

surfc(X,Y,Z)X、Y:網(wǎng)格矩陣數(shù)組,一般是通過meshgrid函數(shù)生成的二維數(shù)組;Z:函數(shù)值數(shù)組,通過函數(shù)z=f(x,y)計算得到。Surfc在surf的基礎(chǔ)上繪制等值線5.3.2繪制三維曲面2023/2/4機械工業(yè)出版社Page62【例5-13】繪制三維表面圖示例。5.3.2繪制三維曲面x=-2:0.2:2;y=x;[X,Y]=meshgrid(x,y);Z=-3*X+2*Y;subplot(1,2,1);surf(X,Y,Z);title('surf表面圖')Z2=X.^2+Y.^2;subplot(1,2,2);surfc(X,Y,Z2);title('surfc表面圖')2023/2/4機械工業(yè)出版社Page635.3.2繪制三維曲面2023/2/4機械工業(yè)出版社Page64MATLAB中也提供了三維柱狀圖、三維餅圖和三維直方圖等特殊樣式三維圖形的繪制函數(shù)。5.3.3繪制特殊三維圖形2023/2/4機械工業(yè)出版社Page65繪制三維柱狀圖三維柱狀圖的繪制函數(shù)是bar3和bar3h,用法與bar和barh類似,常用語法形式如下:bar3(Y)bar3(x,Y,style’)bar3h(Y)bar3h(x,Y,'style')x:一維向量,指示柱狀圖橫坐標(biāo)位置,x元素個數(shù)與Y的行數(shù)相同;Y:繪制數(shù)據(jù)數(shù)組,Y中每一個元素對應(yīng)一個三維bar;5.3.3繪制特殊三維圖形2023/2/4機械工業(yè)出版社Page66【例5-14】繪制三維柱狀圖示例。5.3.3繪制特殊三維圖形x=[1;2;3;4;5];Y=[512;837;968;555;423];subplot(1,2,1);%繪制縱向組三維柱狀圖bar3(Y)title('縱向-組柱狀圖')subplot(1,2,2);%繪制縱向?qū)盈B三維柱狀圖bar3h(x,Y,'stack')title('縱向?qū)盈B三維柱狀圖')2023/2/4機械工業(yè)出版社Page675.3.3繪制特殊三維圖形2023/2/4機械工業(yè)出版社Page68繪制三維餅圖三維餅圖的繪制函數(shù)是pie3,它的用法和二維餅圖繪制函數(shù)pie類似,常用語法形式如下:pie3(X)pie3(…,labels)x:需要繪制的一維向量;labels:餅圖各個分量的文本標(biāo)簽;

5.3.3繪制特殊三維圖形2023/2/4機械工業(yè)出版社Page69【例5-15】繪制三維餅圖示例。5.3.3繪制特殊三維圖形X=[0.46650.49810.48740.22950.08560.0674]pie3(X);title('三維餅圖')2023/2/4機械工業(yè)出版社Page70繪制三維制販圖三維直方圖的繪制函數(shù)是hist3,與二維直方圖繪制函數(shù)hist類似,常用語法形式如下:N=hist3(X,nbins)X:m行2列的矩陣,每一列對應(yīng)網(wǎng)格的一維nbins:包含兩個元素的向量,指定二維平面網(wǎng)格的行數(shù)與列數(shù)。N:統(tǒng)計得到的矩陣5.3.3繪制特殊三維圖形2023/2/4機械工業(yè)出版社Page71【例5-16】繪制三維直方圖示例。5.3.3繪制特殊三維圖形X=[rand(1,100)*10;rand(1,100)*5];X=X';hist3(X,[10,10]);title('三維直方圖')2023/2/4機械工業(yè)出版社Page725.3.3繪制特殊三維圖形2023/2/4機械工業(yè)出版社Page73在繪制三維圖形時,用戶同樣可以對圖形屬性進(jìn)行設(shè)置。除了這些二維、三維共享的屬性外,用戶在繪制三維圖形時,還可以改變顯示的視角、控制攝像頭,通過調(diào)節(jié)光照和顏色改變顯示效果等。5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page74視角的定義所謂視角,是指觀察物體時的方位角和仰角。方位角與x=0平面相關(guān),其大小為視線在(x,y)平面的投影與y軸的負(fù)半軸的夾角;仰角與z=0平面相關(guān),其大小為視線在(x,y)平面的投影與視線的夾角。5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page755.3.4三維圖形顯示控制角

2023/2/4機械工業(yè)出版社Page76改變視角函數(shù)view來改變所有三維圖形的視角。view函數(shù)的常用語法包括下面幾種形式;

view(az,el)

view([az,el])view(3)[az,el]=view5.3.4三維圖形顯示控制az:當(dāng)前視角的方位角;el:當(dāng)前視角的仰角。[az,el]=view返回當(dāng)期視角的方位角和仰角2023/2/4機械工業(yè)出版社Page77【例5-17】改變圖形視角示例。5.3.4三維圖形顯示控制subplot(2,2,1);mesh(peaks)title('默認(rèn)視角:az=37.5,el=30')subplot(2,2,2);mesh(peaks)view(0,30)title('az=0,el=30')subplot(2,2,3);mesh(peaks)view(60,60)title('az=60,el=60')subplot(2,2,4);mesh(peaks)view(0,90)title('az=0,el=90')2023/2/4機械工業(yè)出版社Page785.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page79控制攝像頭利用view函數(shù)來設(shè)置三維圖形的視角非常方便,但其功能有限。要想實現(xiàn)對三維場景的完全控制,需要使用MATLAB提供的攝像頭控制工具條。

在繪圖窗口中,選擇【View】菜單下的【CameraToolbar】選項,就可以在當(dāng)前窗口中顯示攝像頭控制工具條5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page80攝像頭控制工具欄攝像頭環(huán)繞按鈕:圖形位置固定不變,用戶在不同的視角觀察圖形;場景燈光旋轉(zhuǎn)按鈕:設(shè)置光源相對于坐標(biāo)原點和攝像頭連線的角度;圖像圓周旋轉(zhuǎn)按鈕:攝像頭固定,在以攝像頭為圓心的圓周上旋轉(zhuǎn);5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page81攝像頭控制工具欄攝像頭平移按鈕:圖形位置固定,攝像頭水平或垂直移動;攝像頭前進(jìn)或后退按鈕:視角不變情況下改變攝像頭與圖形間距離;攝像頭縮放按鈕:放大或縮小攝像頭取景角度;攝像頭旋轉(zhuǎn)按鈕:攝像頭和圖形位置固定,繞連線軸旋轉(zhuǎn)攝像頭。5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page82攝像頭控制工具欄設(shè)置當(dāng)前圖形坐標(biāo)軸取向;設(shè)置當(dāng)前圖形場景光源;設(shè)置透視模式;重置或終止攝像頭移動。5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page83改變顯示效果改變?nèi)S圖形顯示效果的方法有很多種,這里只介紹如何通過調(diào)節(jié)光照和顏色來改變?nèi)S圖形的顯示效果。5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page84改變顯示效果-創(chuàng)建光源light函數(shù)來創(chuàng)建光源對象,其語法形式如下:light(‘PropertyName’,PropertyValue,…)PropertyName:光源對象的屬性名稱;PropertyValue:為光源對象名為ropertyName的屬性設(shè)置的屬性值。光源對象的屬性總共有二十多種,常用的屬性包括Color、Style和Position等。5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page85改變顯示效果-設(shè)置光照模式設(shè)置光照模式的函數(shù)是lighting,語法形式如下lightingflat:物體每一面相同顏色lightinggouraud:根據(jù)頂點的顏色對表面顏色進(jìn)行插值

lightingphong:對每個表面的頂點的法線進(jìn)行插值lightingnone5.3.4三維圖形顯示控制2023/2/4機械工業(yè)出版社Page86【例5-18】設(shè)置不同的光源和光照模式。5.3.4三維圖形顯示控制subplot(2,2,1);spherelight;lightingnonetitle(‘lightingnone’),subplot(2,2,2);spherelight('Color','r','Style','infinite');lightingflattitle('Color

r,lightingflat')subplot(2,2,3);spherelight('Color','g','Style','local');lighting

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論