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

下載本文檔

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

文檔簡介

第4章

圖形繪制【本章學習目標】

掌握繪制二維和三維圖形的方法。掌握圖形修飾處理方法。了解圖像處理的基本原理和方法。掌握交互式繪圖工具的使用方法。第4章

圖形繪制【本章學習目標】

掌握繪制二維和三維圖形的方4.1二維曲線的繪制1.plot函數(shù)用于繪制平面上的線性坐標曲線。plot(X,Y)其中,參數(shù)X和Y為向量或矩陣,分別用于存儲要繪制的數(shù)據(jù)點的橫坐標和縱坐標。4.1.1繪制二維曲線4.1二維曲線的繪制1.plot函數(shù)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);4.1二維曲線的繪制【例4.1】繪制曲線4.1.1繪4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式。(1)當x和y是同樣大小矩陣時,配對的x、y按對應列的元素為橫、縱坐標分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。例如,在同一坐標中繪制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ù)應與向量的元素個數(shù)相同,繪圖時按矩陣的行對數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的行數(shù);如果X或Y一個是列向量,一個是矩陣,則矩陣的行數(shù)應與向量的元素個數(shù)相同,繪圖時按矩陣的列對數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的列數(shù)。4.1二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(2)當plot函數(shù)只有一個輸入?yún)?shù)時,即plot(y)若y是實型向量,則以該向量元素的下標為橫坐標、元素值為縱坐標繪制出一條連續(xù)曲線;若y是復數(shù)向量,則分別以向量元素實部和虛部為橫、縱坐標繪制一條曲線。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二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(3)當plot函數(shù)有多個輸入?yún)?shù),且都為向量時,即plot(x1,y1,x2,y2,…,xn,yn)其中,x1和y1、x2和y2、……、xn和yn分別組成一組向量對,以每一組向量對為橫、縱坐標繪制出一條曲線。。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二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制2.fplot函數(shù)根據(jù)參數(shù)函數(shù)的變化特性自適應地設置采樣間隔。當函數(shù)值變化緩慢時,設置的采樣間隔大;當函數(shù)值變化劇烈時,設置的采樣間隔小。fplot函數(shù)的基本調(diào)用格式為:fplot(fun,lims)其中,fun代表定義曲線y坐標的函數(shù),通常采用函數(shù)句柄的形式。lims為x軸的取值范圍,用二元行向量[xmin,xmax]描述,默認為[-5,5]。4.1.1繪制二維曲線4.1二維曲線的繪制2.fplot函數(shù)4.1.1繪制4.1二維曲線的繪制【例4.2】用fplot函數(shù)繪制曲線

,x∈[04π]。從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*pi])>>fplot(@(t)sin(t)+sin(2*t),@(t)cos(t)-cos(2*t),[0,2*pi])4.1二維曲線的繪制【例4.2】用fplot函數(shù)繪制曲線4.1二維曲線的繪制

4.1.1繪制二維曲線>>fimplicit(@(x,y)x.*x.*x+y.*y.*y-5*x.*y+1/5)4.1二維曲線的繪制

4.1.1繪制二維曲線>>f4.1二維曲線的繪制1.曲線基本屬性為了加強對比效果,我們常常會在plot函數(shù)中加上選項,用于指定所繪曲線的線型、顏色和數(shù)據(jù)點標記。4.1.2設置曲線樣式4.1二維曲線的繪制1.曲線基本屬性4.1.2設置曲4.1二維曲線的繪制1.曲線基本屬性要設置曲線樣式可以在plot函數(shù)、fplot函數(shù)中加繪圖選項,其調(diào)用格式為:plot(x,y,選項)plot(x1,y1,選項1,x2,y2,選項2,…,xn,yn,選項n)fplot(funx,選項)fplot(funx,funy,選項)4.1.2設置曲線樣式4.1二維曲線的繪制1.曲線基本屬性4.1.2設置曲4.1二維曲線的繪制

4.1.2設置曲線樣式x=linspace(-3,3,1000);y1=x.*x-3;y2=2*sin(x)+3*cos(x);k=find(abs(y1-y2)<1e-2);%查找y1與y2相等點(近似相等)的下標x1=x(k); %取y1與y2相等點的x坐標y3=x1.*x1-3; %求y1與y2值相等點的y坐標plot(x,y1,x,y2,'k:',x1,y3,'bp');4.1二維曲線的繪制

4.1.2設置曲線樣式x=li4.1二維曲線的繪制2.其他屬性設置方法調(diào)用MATLAB繪圖函數(shù)繪制圖形,還可以采用屬性名-屬性值配對的方式設置曲線屬性,即plot(x,y,屬性1,值1,屬性2,值2,……,屬性n,值n)常用的曲線屬性有:Color:指定線條顏色,除了使用表4.2中的字符,還可以使用RGB三元組,即用行向量[RGB]指定顏色,R、G、B分別代表紅、綠、藍三種顏色成分的亮度,取值范圍為[0,1]。4.1.2設置曲線樣式4.1二維曲線的繪制2.其他屬性設置方法4.1.2設4.1二維曲線的繪制2.其他屬性設置方法常用的曲線屬性有:LineStyle:指定線型,可用值為表4.1中的字符。 LineWidth:指定線寬,缺省時,線寬默認為0.5個像素。Marker:指定標記符號。MarkerIndices:指定哪些點顯示標記,其值為向量。若未指定,默認在每一個數(shù)據(jù)點顯示標記。 MarkerEdgeColor:指定標記符號的框線顏色。MarkerFaceColor:指定標記符號內(nèi)的填充顏色。MarkerSize:指定標記符號的大小,缺省時,符號大小默認為6個像素。4.1.2設置曲線樣式4.1二維曲線的繪制2.其他屬性設置方法4.1.2設4.1二維曲線的繪制4.1.2設置曲線樣式>t=linspace(0,2*pi,121);>>plot(t,sin(2*t),'Color',[000],...%設置曲線為黑色

'LineWidth',2,...%設置曲線線寬為2'Marker','o',...

%設置曲線標記為圓

'MarkerIndices',[1316191121],...%在4個點顯示標記

'MarkerEdgeColor','r',...%設置曲線標記外框為紅色

'MarkerFaceColor','y',...%設置曲線標記內(nèi)填充黃色

'MarkerSize',8)%設置曲線標記大小為84.1二維曲線的繪制4.1.2設置曲線樣式>t=l4.1二維曲線的繪制1.圖形標注圖形標注函數(shù)的調(diào)用格式如下。 title(坐標軸標題) xlabel(x軸說明) ylabel(y軸說明) text(x,y,圖形說明) legend(圖例1,圖例2,…)title函數(shù)用于給坐標軸添加標題;xlabel、ylabel分別用于給x軸、y軸添加說明;text函數(shù)用于在指定位置(x,y)添加圖形說明;legend函數(shù)用于添加圖例,說明繪制曲線所用線型、顏色或數(shù)據(jù)點標記。4.1.3圖形標注與坐標控制4.1二維曲線的繪制1.圖形標注4.1.3圖形標注與4.1二維曲線的繪制1.圖形標注說明文字,除使用常規(guī)字符外,還可使用TeX標識符輸出其他字符和標識,如希臘字母、數(shù)學符號、公式等。在MATLAB支持的TeX字符串中,用\bf、\it、\rm標識符分別定義字形為加粗、傾斜和常規(guī)字體。表4.5中的各個字符既可以單獨使用,又可以和其他字符及命令聯(lián)合使用。為了將控制字符串、TeX標識符與輸出字符分隔開來,可以用大括號界定控制字符串以及受控制字符串的起始和結(jié)束。例如:4.1.3圖形標注與坐標控制>>text(0.3,0.5,'sin({\omega}t+{\beta})')%標注sin(ωt+β)4.1二維曲線的繪制1.圖形標注4.1.3圖形標注與4.1二維曲線的繪制上標由^

引導,下標由_

引導【例4.4】在0≤x≤2π區(qū)間內(nèi),繪制曲線y1

=

e?0.5x和y2

=e?0.5xcos(4πx),并添加圖形標注。4.1.3圖形標注與坐標控制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('xfrom0to2{\pi}');%添加坐標軸標題xlabel('VariableX'); %添加X軸說明ylabel('VariableY'); %添加Y軸說明text(1.5,0.5,'曲線y_1=e^{-0.5x}'); %在指定位置添加圖形說明text(3,-0.2,'曲線y_2=cos(4{\pi}x)e^{-0.5x}');legend('y_1','y_2') %添加圖例4.1二維曲線的繪制上標由^引導,下標由_引導44.1二維曲線的繪制2.坐標控制調(diào)用axis函數(shù)來實現(xiàn)。axis([xmin,xmax,ymin,ymax,zmin,zmax])系統(tǒng)按照給出的三個坐標軸的最小值和最大值設置坐標軸范圍,通常,繪制二維圖形時只給出前4個參數(shù)。例如:>>axis([-pi,pi,-4,4])axis函數(shù)其他用法如下。axisauto:使用默認設置。axisequal:縱、橫坐標軸采用等長刻度。 axissquare:產(chǎn)生正方形坐標軸(默認為矩形)。 axison:顯示坐標軸。axisoff:不顯示坐標軸。4.1.3圖形標注與坐標控制4.1二維曲線的繪制2.坐標控制4.1.3圖形標注與4.1二維曲線的繪制2.坐標控制給坐標軸加網(wǎng)格線用grid命令來控制。gridon命令控制顯示網(wǎng)格線gridoff命令控制不顯示網(wǎng)格線不帶參數(shù)的grid命令用于在兩種狀態(tài)之間進行切換。給坐標軸加邊框用box命令。box命令的使用方法與grid命令相同。如果程序中沒有出現(xiàn)box命令,默認是有邊框線的。4.1.3圖形標注與坐標控制4.1二維曲線的繪制2.坐標控制4.1.3圖形標注與4.1二維曲線的繪制【例4.5】繪制曲線及其包絡線,x∈[0π]。4.1.3圖形標注與坐標控制t=0:pi/100:pi;y1=sin(t).*[1;-1]; %包絡線函數(shù)值y2=sin(t).*sin(9*t);plot(t,[y1;y2])gridon; %加網(wǎng)格線boxon; %加坐標邊框axisequal %坐標軸采用等刻度4.1二維曲線的繪制【例4.5】繪制曲線4.1二維曲線的繪制1.圖形窗口的分割subplot函數(shù),用來實現(xiàn)對當前圖形窗口的分割。subplot函數(shù)的調(diào)用格式為:subplot(m,n,p)其中,參數(shù)m和n表示將圖形窗口分成m行n列個繪圖區(qū),區(qū)號按行優(yōu)先編號。第3個參數(shù)指定第p個區(qū)為當前活動區(qū),若p是向量,則表示將向量中的幾個區(qū)合成1個繪圖區(qū)。4.1.4多圖形顯示4.1二維曲線的繪制1.圖形窗口的分割4.1.4多圖4.1二維曲線的繪制【例4.6】在圖形窗口中,以子圖形式同時繪制多根曲線。4.1.3圖形標注與坐標控制x=-3:0.1:3;subplot(2,2,2);%將圖形窗口劃分成2×2——4個子圖,選定2區(qū)為當前活動區(qū)。y2=sin(2.*x.^2); plot(x,y2);xlabel('(b)');axis([-33-1.21.2])subplot(2,2,4);y3=cos(x.^3);plot(x,y3);xlabel('(c)');axis([-33-1.21.2]);gridon;subplot(2,2,[13]);%選定1和3號區(qū)為當前活動區(qū)fplot(@(x)(x-cos(x.^3)-sin(2*x.^2)),[-33]);xlabel('(a)');4.1二維曲線的繪制【例4.6】在圖形窗口中,以子圖形式4.1二維曲線的繪制2.圖形疊加在已存在的圖形上再疊加新的圖形,可使用圖形保持命令hold。holdon命令控制保持原有圖形,holdoff命令控制刷新圖形窗口,不帶參數(shù)的hold命令控制在兩種狀態(tài)之間進行切換。例如:4.1.4多圖形顯示t=linspace(0,2*pi,200);x=sin(t)+sin(2*t);y=cos(t)-cos(2*t);plot(x,y);%繪制三個葉片axisequalholdon%保持原有圖形fplot(@(x)sin(x),@(x)cos(x),[-pi,pi])%繪制圓4.1二維曲線的繪制2.圖形疊加4.1.4多圖形顯示4.1二維曲線的繪制3.具有兩個縱坐標標度的圖形在同一個坐標軸繪制具有不同縱坐標標度的兩個圖形,可以使用yyaxis函數(shù)4.1.4多圖形顯示yyaxisleftyyaxisrightyyaxis(ax,’left’)yyaxis(ax,’right’)4.1二維曲線的繪制3.具有兩個縱坐標標度的圖形二維曲線的繪制【例4.7】用不同標度在同一坐標軸內(nèi)繪制曲線y1

=

0.2e?0.5xcos(2x)和y2

=

1.5e?0.5xcos(πx)。4.1.4多圖形顯示x=0:pi/50:2*pi;y1=0.2*exp(-0.5*x).*cos(2*x);yyaxisrightplot(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);yyaxisleftplot(x,y2)text(2,1.5*exp(-0.5*2)*cos(pi*2),'曲線y_2');4.1二維曲線的繪制【例4.7】用不同標度在同一坐標軸內(nèi)4.1二維曲線的繪制1.對數(shù)坐標圖形semilogx(x1,y1,選項1,x2,y2,選項2,…)semilogy(x1,y1,選項1,x2,y2,選項2,…)loglog(x1,y1,選項1,x2,y2,選項2,…)semilogx函數(shù)使用半對數(shù)坐標,x軸為常用對數(shù)刻度,y軸為線性刻度。semilogy函數(shù)也使用半對數(shù)坐標,x軸為線性刻度,y軸為常用對數(shù)刻度。loglog函數(shù)使用全對數(shù)坐標,x軸和y軸均采用常用對數(shù)刻度。4.1.5其他坐標系下的曲線4.1二維曲線的繪制1.對數(shù)坐標圖形4.1.5其他坐4.1二維曲線的繪制【例4.8】繪制y

=

e?x的對數(shù)坐標圖并與直角線性坐標圖進行比較。4.1.5其他坐標系下的曲線x=0:0.1:10;y=exp(-x);subplot(2,2,1);plot(x,y);title('plot(x,y)');gridon;subplot(2,2,2);semilogx(x,y);title('semilogx(x,y)');gridon;subplot(2,2,3);semilogy(x,y);title('semilogy(x,y)');gridon;subplot(2,2,4);loglog(x,y);title('loglog(x,y)');gridon;4.1二維曲線的繪制【例4.8】繪制y

=

e?x的對數(shù)4.1二維曲線的繪制2.極坐標圖MATLAB中用polarplot函數(shù)來繪制極坐標圖,其調(diào)用格式為:polarplot(theta,rho,選項)其中,theta為極坐標極角,rho為極坐標極徑4.1.5其他坐標系下的曲線4.1二維曲線的繪制2.極坐標圖4.1.5其他坐標系4.1二維曲線的繪制

4.1.5其他坐標系下的曲線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二維曲線的繪制

4.1.5其他坐標系下的曲線t4.1二維曲線的繪制3.等高線圖contour([X,Y,]Z[,n][,v]) contourf([X,Y,]Z[,n][,v])其中,X和Y分別表示平面上的橫坐標和縱坐標,Z表示高程。當X和Y是矩陣時,大小應和Z相同;參數(shù)n指定用n條水平線來繪制等高線;v是單調(diào)遞增向量,其中的每一個元素對應一條水平線的值,等高線的個數(shù)為v中元素的個數(shù)。contour函數(shù)用于繪制常規(guī)等高線圖contourf函數(shù)用于繪制填充方式的等高線圖。4.1.5其他坐標系下的曲線4.1二維曲線的繪制3.等高線圖4.1.5其他坐標系4.1二維曲線的繪制3.等高線圖調(diào)用colorbar函數(shù)在指定位置顯示顏色條。colorbar(位置)位置可取值包括:'north'(坐標軸的上部)、'south'(坐標軸的下部)、'east'(坐標軸的右部)、'west'(坐標軸的左部)、'northoutside'(坐標軸上)、'southoutside'(坐標軸下)、'eastoutside'(坐標軸右)、'westoutside'(坐標軸左)、'manual'。例如:>>contour(peaks(40),20)>>colorbar4.1.5其他坐標系下的曲線4.1二維曲線的繪制3.等高線圖4.1.5其他坐標系4.2其他二維圖形的繪制1.條形圖函數(shù)用于顯示不同時間點的數(shù)據(jù)大小或比較各組數(shù)據(jù)的大小。bar函數(shù)的基本調(diào)用格式為:bar(x,width,style)參數(shù)x存儲繪圖數(shù)據(jù)。選項width設置條形的相對寬度和控制在一組內(nèi)條形的間距,默認寬度為0.8;選項style用于指定分組排列模式,類型有'grouped'(簇狀分組)、'stacked'(堆積)、'histc'(橫向直方圖)、'hist'(縱向直方圖),默認采用簇狀分組排列模式。4.2.1條形類圖形4.2其他二維圖形的繪制1.條形圖函數(shù)4.2.1條形4.2其他二維圖形的繪制【例4.10】表4.7所示為某公司3類產(chǎn)品各季度的銷售額(單位:萬元),分別按季度繪制簇狀柱形圖和堆積條形圖。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其他二維圖形的繪制【例4.10】表4.7所示為某公4.2其他二維圖形的繪制2.直方圖函數(shù)MATLAB提供了繪制直方圖的histogram函數(shù)和繪制帕累托圖的pareto函數(shù)。histogram函數(shù)的基本調(diào)用格式為:histogram(x,nbins)參數(shù)x存儲繪圖數(shù)據(jù)。選項nbins用于設置統(tǒng)計區(qū)間的劃分方式。若nbins是一個正整數(shù),則統(tǒng)計區(qū)間均分成nbins個小區(qū)間;若nbins是向量,則向量中的每一個元素指定各區(qū)間的最小值,默認按x中的值自動確定劃分的區(qū)間數(shù)。4.2.1條形類圖形4.2其他二維圖形的繪制2.直方圖函數(shù)4.2.1條形4.2其他二維圖形的繪制3.玫瑰花圖又稱為角度直方圖。MATLAB提供rose函數(shù)繪制玫瑰花圖,rose函數(shù)的用法如下:rose(theta,nbins)參數(shù)theta是一個向量,用于確定每一區(qū)間與原點的角度。繪圖時將圓劃分為若干個角度相同的扇形區(qū)域,每一扇形區(qū)域三角形的高度反映了落入該區(qū)間的theta元素的個數(shù)。若nbins是標量,則在[0,2π]區(qū)間內(nèi)均勻劃分為nbins個扇形區(qū)域;若nbins為向量,指定分組中心值,nbins元素的個數(shù)為數(shù)據(jù)分組數(shù),默認為20。4.2.1條形類圖形4.2其他二維圖形的繪制3.玫瑰花圖4.2.1條形類4.2其他二維圖形的繪制1.扇形統(tǒng)計圖pie函數(shù)的基本調(diào)用格式為:pie(x,explode)參數(shù)x存儲繪圖數(shù)據(jù)。explode是與x同等大小的向量或矩陣,與explode的非零值對應的部分將從餅圖中心分離出來。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),[0001])%對應第四季度的部分從餅圖中心分離title('產(chǎn)品A銷售情況');legend('一季度','二季度','三季度','四季度');4.2其他二維圖形的繪制1.扇形統(tǒng)計圖4.2.2面積4.2其他二維圖形的繪制2.面積圖area函數(shù)的基本調(diào)用格式為:area(Y,basevalue)若Y是向量,以Y為縱坐標繪制一條曲線;若Y是矩陣,則矩陣Y的每一列元素對應一條曲線,堆疊繪制多條曲線。選項basevalue指定區(qū)域的基值,默認為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其他二維圖形的繪制2.面積圖4.2.2面積類圖4.2其他二維圖形的繪制3.實心圖fill函數(shù)用于繪制實心圖,其調(diào)用格式為:fill(x1,y1,選項1,x2,y2,選項2,…)按向量元素下標漸增次序依次用直線段連接x、y對應元素定義的數(shù)據(jù)點。若連接所得折線不封閉,MATLAB將自動把該折線的首尾連接起來。【例4.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.51.5-1.51.5])4.2其他二維圖形的繪制3.實心圖4.2.2面積類圖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ù)點標記符號是封閉圖形,如圓圈或方塊,可以用選項‘filled’指定填充數(shù)據(jù)點標記,默認數(shù)據(jù)點是空心的。4.2.3散點類圖形4.2其他二維圖形的繪制3.實心圖4.2.3散點類圖4.2其他二維圖形的繪制【例4.12】表4.9所示為某冷飲點熱飲銷售與氣溫關系的記錄,繪制散點圖觀察熱飲銷售隨氣溫變化的趨勢。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其他二維圖形的繪制【例4.12】表4.9所示為某冷4.2其他二維圖形的繪制compass函數(shù)用從原點發(fā)射出的箭頭表示矢量,繪制的圖形又稱為羅盤圖;feather函數(shù)用從x軸發(fā)射出的箭頭表示矢量,繪制的圖形又稱為羽毛圖;quiver、quiver3函數(shù)用從空間指定位置發(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為復型量。繪制圖形時,quiver函數(shù)以(x,y)為起點,quiver3函數(shù)以(x,y,z)為起點,u、v、w為x、y、z方向的速度分量。4.2.4矢量場圖形4.2其他二維圖形的繪制compass函數(shù)用從原點發(fā)射出4.2其他二維圖形的繪制4.2.4矢量場圖形z=[1+1i,0.5i,-1-0.5i,0.5-0.5i];subplot(2,2,1)compass(z)subplot(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.2其他二維圖形的繪制4.2.4矢量場圖形z=[14.3三維圖形的繪制1.plot3函數(shù)基本調(diào)用格式為:plot3(x,y,z,選項)參數(shù)x、y、z組成一組曲線的空間坐標。通常,x、y和z為長度相同的向量,x、y、z對應元素構(gòu)成一條曲線上各數(shù)據(jù)點的空間坐標;當x、y、z是同樣大小的矩陣時,則以x、y、z對應列元素作為數(shù)據(jù)點坐標,曲線條數(shù)等于矩陣列數(shù)。當x、y、z中有向量,也有矩陣時,行向量的長度與矩陣的列數(shù)相同,列向量的長度與矩陣的行數(shù)相同。4.3.1三維曲線4.3三維圖形的繪制1.plot3函數(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');gridon;4.3三維圖形的繪制【例4.13】繪制三維曲線。三維圖形的繪制2.fplot3函數(shù)根據(jù)參數(shù)函數(shù)的變化特性自適應地設置采樣間隔。當函數(shù)值變化緩慢時,設置的采樣間隔大;當函數(shù)值變化劇烈時,設置的采樣間隔小。fplot3函數(shù)的基本調(diào)用格式為:fplot3(funx,funy,funz,lims,選項)參數(shù)funx、funy、funz代表定義曲線x、y、z坐標的函數(shù),通常采用函數(shù)句柄的形式。lims為參數(shù)函數(shù)自變量的取值范圍,用二元向量[tmin,tmax]描述,默認為[-5,5]。4.3.1三維曲線4.3三維圖形的繪制2.fplot3函數(shù)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三維圖形的繪制【例4.14】繪制三維曲線。三維圖形的繪制1.產(chǎn)生網(wǎng)格坐標矩陣將x方向區(qū)間[a,b]分成m份,將y方向區(qū)間[c,d

]分成n份,由各劃分點分別作平行于兩坐標軸的直線,將區(qū)域[a,b]

×

[c,d

]分成m

×

n個小網(wǎng)格,生成代表每一個小網(wǎng)格頂點坐標的網(wǎng)格坐標矩陣。4.3.2三維曲面4.3三維圖形的繪制1.產(chǎn)生網(wǎng)格坐標矩陣4.3.2三4.3三維圖形的繪制1.產(chǎn)生網(wǎng)格坐標矩陣在MATLAB中,產(chǎn)生平面區(qū)域內(nèi)的網(wǎng)格坐標矩陣有兩種方法。(1)利用矩陣運算生成。(2)調(diào)用meshgrid函數(shù)生成二維網(wǎng)格坐標矩陣:[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三維圖形的繪制1.產(chǎn)生網(wǎng)格坐標矩陣4.3.2三4.3三維圖形的繪制2.mesh函數(shù)和surf函數(shù)mesh函數(shù)用于繪制三維網(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平面坐標,z定義網(wǎng)格頂點的高度。選項c用于指定在不同高度下的補面顏色。4.3.2三維曲面4.3三維圖形的繪制2.mesh函數(shù)和surf函數(shù)4.34.3三維圖形的繪制【例4.15】繪制三維曲面圖z

=

sinx2

+

cosy2,x∈[0,π],y∈[0,π/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);4.3三維圖形的繪制【例4.15】繪制三維曲面圖z

=

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,y,z)')4.3三維圖形的繪制【例4.16】在xy平面內(nèi)選擇區(qū)域[4.3三維圖形的繪制3.fmesh函數(shù)和fsurf函數(shù)根據(jù)參數(shù)函數(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坐標的函數(shù),通常采用函數(shù)句柄的形式。參數(shù)函數(shù)funx、funy、funz有兩個自變量,lims為自變量的取值范圍,用4元向量[umin,umax,vmin,vmax]描述,umin、vmin為自變量的下限,umax、vmax為自變量的上限,默認為[-5,5,-5,5]。4.3.2三維曲面4.3三維圖形的繪制3.fmesh函數(shù)和fsurf函數(shù)44.3三維圖形的繪制【例4.15】用fmesh函數(shù)和fsurf函數(shù)繪制三維曲面圖z

=

sinx2

+

cosy2,x∈[0,π],y∈[0,π/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.15】用fmesh函數(shù)和fs4.3三維圖形的繪制4.標準三維曲面(1)sphere函數(shù)用于繪制三維球面,其調(diào)用格式為[x,y,z]=sphere(n)該函數(shù)將產(chǎn)生3個(n+1)階的方陣x、y、z,采用這3個矩陣可以繪制出圓心位于原點、半徑為1的單位球體。若在調(diào)用該函數(shù)時不帶輸出參數(shù),則直接繪制球面。選項n決定了球面的圓滑程度,n越大,繪制出的球體表面越光滑,默認值為20。4.3.2三維曲面4.3三維圖形的繪制4.標準三維曲面4.3.2三維曲4.3三維圖形的繪制4.標準三維曲面(2)cylinder函數(shù)用于繪制柱面,其調(diào)用格式為[x,y,z]=cylinder(R,n)其中,選項R是一個向量,存放柱面各個等間隔高度上的半徑,默認為1,即圓柱的底面半徑為1;選項n表示在圓柱圓周上有n個間隔點,默認有20個間隔點。4.3.2三維曲面4.3三維圖形的繪制4.標準三維曲面4.3.2三維曲4.3三維圖形的繪制4.標準三維曲面(2)cylinder函數(shù)4.3.2三維曲面subplot(1,3,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.標準三維曲面4.3.2三維曲4.3三維圖形的繪制4.標準三維曲面(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階方陣,默認為49階方陣。第2種格式的參數(shù)V是一個向量,生成1個方陣。第3種格式中的參數(shù)X、Y是大小相同的矩陣,定義平面網(wǎng)格頂點坐標。若在調(diào)用peaks函數(shù)時不帶輸出參數(shù),則直接繪制出多峰函數(shù)曲面。4.3.2三維曲面4.3三維圖形的繪制4.標準三維曲面4.3.2三維曲4.3三維圖形的繪制

4.3.2三維曲面>>fimplicit3(@(x,y,z)x.^2+y.^2-z.^2/4-1,[-3,3])4.3三維圖形的繪制

4.3.2三維曲面>>fim4.4圖形修飾處理MATLAB的視點位置用方位角和仰角表示。方位角又稱旋轉(zhuǎn)角,是視點與原點連線在xy平面上的投影與y軸負方向形成的角度,正值表示逆時針,負值表示順時針。仰角又稱視角,是視點與原點連線與xy平面的夾角,正值表示視點在xy平面上方,負值表示視點在xy平面下方。4.4.1視點處理4.4圖形修飾處理MATLAB的視點位置用方位角和仰角表4.4圖形修飾處理MATLAB提供了設置視點的函數(shù)view,其調(diào)用格式為view(az,el)view(x,y,z)view(2)view(3)第1種格式中,az為方位角,el為仰角,以度為單位。第2種格式中,x、y、z為視點在笛卡爾坐標系中的位置。第3種格式設置從二維平面觀察圖形,即az=0°,el=90°。第4種格式設置從三維空間觀察圖形,視點使用默認方位角和仰角(az=-37.5°,el=30°)。4.4.1視點處理4.4圖形修飾處理MATLAB提供了設置視點的函數(shù)vie4.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)mesh(x,y,z)title('方位角=-37.5{\circ},仰角=30{\circ}')subplot(2,2,2)mesh(x,y,z)view(2);title('方位角=0{\circ},仰角=90{\circ}')subplot(2,2,3)mesh(x,y,z)view(90,0);title('方位角=90{\circ},仰角=0{\circ}')subplot(2,2,4)mesh(x,y,z)view(-45,-60);title('方位角=-45{\circ},仰角=-60{\circ}')4.4圖形修飾處理

4.4.1視點處理[x,y]=m4.4圖形修飾處理1.色圖色圖(Colormap)是MATLAB填充表面所使用的顏色參照表。色圖是一個m×3的數(shù)值矩陣,其每一行是一個RGB三元組。MATLAB中使用函數(shù)colormap設置和獲取當前圖形所使用的色圖,函數(shù)的調(diào)用格式為colormapcmapnamecolormap(cmap)cmap=colormap參數(shù)cmapname是內(nèi)建的色圖函數(shù),cmap是色圖矩陣。第1、2種格式用于設置色圖,第3種格式用于獲取當前色圖。4.4.2色彩處理4.4圖形修飾處理1.色圖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;%生成64×3的灰度色圖矩陣>>P=gray(6);%生成6×3的灰度色圖矩陣>>Q=gray(2);%生成2×3的灰度色圖矩陣,只有黑、白兩種顏色4.4.2色彩處理4.4圖形修飾處理1.色圖4.4.2色彩處理4.4圖形修飾處理2.三維圖形表面的著色用色圖矩陣中定義的各種顏色在每一個網(wǎng)格片上涂抹顏色。以surf函數(shù)為例,說明與著色有關的屬性的設置方法。方法如下:surf(X,Y,Z,選項,值)選項包括FaceColor和EdgeColor,分別用于設置網(wǎng)格片和網(wǎng)格邊框線的著色方式,可取值有:'flat':每個網(wǎng)格片內(nèi)用系統(tǒng)默認色圖中的單一顏色填充,這是系統(tǒng)的默認方式。'interp':每個網(wǎng)格片內(nèi)填充漸變色,漸變采用插值法計算。'none':每個網(wǎng)格片內(nèi)不填充顏色。'texturemap':每個網(wǎng)格片內(nèi)用紋理填充。RGB三元組或顏色字符:每個網(wǎng)格片內(nèi)用指定的顏色填充。4.4.2色彩處理4.4圖形修飾處理2.三維圖形表面的著色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圖形修飾處理【例4.19】使用統(tǒng)一色圖,以不同著色4.4圖形修飾處理3.圖形表面的色差用shading命令來改變色差,從而影響圖形表面著色效果。shading命令的調(diào)用格式為shading選項選項有如下3種取值。

faceted:將每個網(wǎng)格片用色圖中與其高度對應的顏色進行著色,網(wǎng)格線是黑色。這是系統(tǒng)的默認著色方式。

interp:在網(wǎng)格片內(nèi)和網(wǎng)格間的色差采用插值處理,無網(wǎng)格線。

flat:將每個網(wǎng)格片用同一個顏色進行著色,網(wǎng)格線的顏色與網(wǎng)格片的顏色相同。4.4.2色彩處理4.4圖形修飾處理3.圖形表面的色差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);shadinginterp;subplot(1,3,3);surf(x,y,z);shadingflat;4.4圖形修飾處理【例4.20】不同色差對圖形顯示效果的4.4圖形修飾處理將圖形中需要裁剪部分對應的函數(shù)值設置成NaN,這樣在繪制圖形時,函數(shù)值為NaN的部分將不顯示出來,從而達到對圖形進行裁剪的目的。4.4.3圖形的裁剪處理4.4圖形修飾處理將圖形中需要裁剪部分對應的函數(shù)值設置成4.4圖形修飾處理【例4.21】繪制三維曲面,并裁掉圖中x和y都小于?1.5的部分。4.4.3圖形的裁剪處理[x,y]=meshgrid(-5:0.2:5);z=sin(sqrt(x.^2+y.^2))./(sqrt(x.^2+y.^2));subplot(1,2,1)mesh(x,y,z);subplot(1,2,2)k=find(x<-1.5&y<-1.5);z1=z;z1(k)=NaN;mesh(x,y,z1);4.4圖形修飾處理【例4.21】繪制三維曲面4.5圖像處理1.圖像文件讀寫函數(shù)imread函數(shù)用于從文件中讀取圖像數(shù)據(jù)到MATLAB工作空間,imwrite函數(shù)用于將圖像像素位置、顏色信息寫入文件。函數(shù)的調(diào)用格式為A=imread(fname,fmt)imwrite(A,fname)參數(shù)fname存儲讀/寫的圖像文件名;選項fmt為圖像文件格式,如'bmp'、'jpg'、'gif'、'tif'、'png'等4.5.1圖像數(shù)據(jù)讀寫與顯示4.5圖像處理1.圖像文件讀寫函數(shù)4.5.1圖像數(shù)據(jù)4.5圖像處理2.圖像顯示函數(shù)mage、imshow和imagesc函數(shù)用于將數(shù)組中的數(shù)據(jù)顯示為圖像。函數(shù)的調(diào)用格式為image(x,y,A)imshow(A,map)imagesc(x,y,A)參數(shù)A用于存儲圖像數(shù)據(jù),x、y指定圖像顯示的位置和大小,map指定顯示圖形時采用的色圖。若A是二維數(shù)組,則image(A)用單一色系的顏色繪制圖形,imshow(A)用黑白色繪制圖形,imagesc(A)使用經(jīng)過標度映射的顏色繪制圖形。4.5.1圖像數(shù)據(jù)讀寫與顯示4.5圖像處理2.圖像顯示函數(shù)4.5.1圖像數(shù)據(jù)讀寫4.5圖像處理【例4.22】繪制多峰曲面,并用三種方式繪制水平面上的投影。4.5.1圖像數(shù)據(jù)讀寫與顯示Z=10+peaks;subplot(1,3,1)surf(Z)holdonimage(Z)subplot(1,3,2)surf(Z)holdonimshow(Z)subplot(1,3,3)surf(Z)holdonimagesc(Z)4.5圖像處理【例4.22】繪制多峰曲面,并用三種方式繪4.5圖像處理getframe函數(shù)用于捕獲圖像數(shù)據(jù),函數(shù)的調(diào)用格式為:F=getframe(h)F=getframe(h,rect)選項h為坐標軸句柄或圖形窗口句柄,默認從當前坐標軸捕獲圖像數(shù)據(jù)。第2種調(diào)用格式指定從某個區(qū)域捕獲圖像數(shù)據(jù)。圖像數(shù)據(jù)存儲于結(jié)構(gòu)體變量F中,F(xiàn)的第1個分量存儲圖像各個點的顏色,第2個分量存儲色圖。4.5.2圖像捕獲與播放4.5圖像處理getframe函數(shù)用于捕獲圖像數(shù)據(jù),函數(shù)4.5圖像處理movie函數(shù)用于播放錄制的的影片幀,通過控制播放速度產(chǎn)生逐幀動畫效果。movie函數(shù)的調(diào)用格式為:movie(M,n,fps)參數(shù)M保存了用getframe函數(shù)獲取的多幀圖像數(shù)據(jù),每列存儲一幀圖像數(shù)據(jù)。選項n控制循環(huán)播放的次數(shù),默認值為1。選項fps指定以每秒fps幀的速度播放影片,默認值為12。4.5.2圖像捕獲與播放4.5圖像處理movie函數(shù)用于播放錄制的的影片幀,通過4.5圖像處理【例4.23】繪制一個水平放置的瓶狀柱面,并且將它繞z軸旋轉(zhuǎn)。4.5.2圖像捕獲與播放t=0:pi/30:2*pi;[x,y,z]=cylinder(2+sin(t),30);mesh(z,y,x)axisoff;%保存20幀以不同視點呈現(xiàn)的圖形fork=1:20view(-37.5+18*(k-1),30) %改變視點

M(k)=getframe; endmovie(M,2); %用默認的播放速度播放2次4.5圖像處理【例4.23】繪制一個水平放置的瓶狀柱面,4.6交互式繪圖工具工具條提供了繪制圖形的基本命令。“所選內(nèi)容”命令組:用于顯示已選中用于繪圖的變量;“繪圖”命令組:提供繪制各種圖形的命令;“選項”命令組:選項用于設置繪圖時是否新建圖形窗口。4.6.1繪圖選項卡4.6交互式繪圖工具工具條提供了繪制圖形的基本命令。4.4.6交互式繪圖工具figure命令打開一個圖形窗口。4.6.2圖形窗口工具欄圖窗選項板繪圖瀏覽器屬性編輯器4.6交互式繪圖工具figure命令打開一個圖形窗口。4第4章

圖形繪制【本章學習目標】

掌握繪制二維和三維圖形的方法。掌握圖形修飾處理方法。了解圖像處理的基本原理和方法。掌握交互式繪圖工具的使用方法。第4章

圖形繪制【本章學習目標】

掌握繪制二維和三維圖形的方4.1二維曲線的繪制1.plot函數(shù)用于繪制平面上的線性坐標曲線。plot(X,Y)其中,參數(shù)X和Y為向量或矩陣,分別用于存儲要繪制的數(shù)據(jù)點的橫坐標和縱坐標。4.1.1繪制二維曲線4.1二維曲線的繪制1.plot函數(shù)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);4.1二維曲線的繪制【例4.1】繪制曲線4.1.1繪4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式。(1)當x和y是同樣大小矩陣時,配對的x、y按對應列的元素為橫、縱坐標分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。例如,在同一坐標中繪制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ù)應與向量的元素個數(shù)相同,繪圖時按矩陣的行對數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的行數(shù);如果X或Y一個是列向量,一個是矩陣,則矩陣的行數(shù)應與向量的元素個數(shù)相同,繪圖時按矩陣的列對數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的列數(shù)。4.1二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(2)當plot函數(shù)只有一個輸入?yún)?shù)時,即plot(y)若y是實型向量,則以該向量元素的下標為橫坐標、元素值為縱坐標繪制出一條連續(xù)曲線;若y是復數(shù)向量,則分別以向量元素實部和虛部為橫、縱坐標繪制一條曲線。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二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(3)當plot函數(shù)有多個輸入?yún)?shù),且都為向量時,即plot(x1,y1,x2,y2,…,xn,yn)其中,x1和y1、x2和y2、……、xn和yn分別組成一組向量對,以每一組向量對為橫、縱坐標繪制出一條曲線。。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二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制2.fplot函數(shù)根據(jù)參數(shù)函數(shù)的變化特性自適應地設置采樣間隔。當函數(shù)值變化緩慢時,設置的采樣間隔大;當函數(shù)值變化劇烈時,設置的采樣間隔小。fplot函數(shù)的基本調(diào)用格式為:fplot(fun,lims)其中,fun代表定義曲線y坐標的函數(shù),通常采用函數(shù)句柄的形式。lims為x軸的取值范圍,用二元行向量[xmin,xmax]描述,默認為[-5,5]。4.1.1繪制二維曲線4.1二維曲線的繪制2.fplot函數(shù)4.1.1繪制4.1二維曲線的繪制【例4.2】用fplot函數(shù)繪制曲線

,x∈[04π]。從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*pi])>>fplot(@(t)sin(t)+sin(2*t),@(t)cos(t)-cos(2*t),[0,2*pi])4.1二維曲線的繪制【例4.2】用fplot函數(shù)繪制曲線4.1二維曲線的繪制

4.1.1繪制二維曲線>>fimplicit(@(x,y)x.*x.*x+y.*y.*y-5*x.*y+1/5)4.1二維曲線的繪制

4.1.1繪制二維曲線>>f4.1二維曲線的繪制1.曲線基本屬性為了加強對比效果,我們常常會在plot函數(shù)中加上選項,用于指定所繪曲線的線型、顏色和數(shù)據(jù)點標記。4.1.2設置曲線樣式4.1二維曲線的繪制1.曲線基本屬性4.1.2設置曲4.1二維曲線的繪制1.曲線基本屬性要設置曲線樣式可以在plot函數(shù)、fplot函數(shù)中加繪圖選項,其調(diào)用格式為:plot(x,y,選項)plot(x1,y1,選項1,x2,y2,選項2,…,xn,yn,選項n)fplot(funx,選項)fplot(funx,funy,選項)4.1.2設置曲線樣式4.1二維曲線的繪制1.曲線基本屬性4.1.2設置曲4.1二維曲線的繪制

4.1.2設置曲線樣式x=linspace(-3,3,1000);y1=x.*x-3;y2=2*sin(x)+3*cos(x);k=find(abs(y1-y2)<1e-2);%查找y1與y2相等點(近似相等)的下標x1=x(k); %取y1與y2相等點的x坐標y3=x1.*x1-3; %求y1與y2值相等點的y坐標plot(x,y1,x,y2,'k:',x1,y3,'bp');4.1二維曲線的繪制

4.1.2設置曲線樣式x=li4.1二維曲線的繪制2.其他屬性設置方法調(diào)用MATLAB繪圖函數(shù)繪制圖形,還可以采用屬性名-屬性值配對的方式設置曲線屬性,即plot(x,y,屬性1,值1,屬性2,值2,……,屬性n,值n)常用的曲線屬性有:Color:指定線條顏色,除了使用表4.2中的字符,還可以使用RGB三元組,即用行向量[RGB]指定顏色,R、G、B分別代表紅、綠、藍三種顏色成分的亮度,取值范圍為[0,1]。4.1.2設置曲線樣式4.1二維曲線的繪制2.其他屬性設置方法4.1.2設4.1二維曲線的繪制2.其他屬性設置方法常用的曲線屬性有:LineStyle:指定線型,可用值為表4.1中的字符。 LineWidth:指定線寬,缺省時,線寬默認為0.5個像素。Marker:指定標記符號。MarkerIndices:指定哪些點顯示標記,其值為向量。若未指定,默認在每一個數(shù)據(jù)點顯示標記。 MarkerEdgeColor:指定標記符號的框線顏色。MarkerFaceColor:指定標記符號內(nèi)的填充顏色。MarkerSize:指定標記符號的大小,缺省時,符號大小默認為6個像素。4.1.2設置曲線樣式4.1二維曲線的繪制2.其他屬性設置方法4.1.2設4.1二維曲線的繪制4.1.2設置曲線樣式>t=linspace(0,2*pi,121);>>plot(t,sin(2*t),'Color',[000],...%設置曲線為黑色

'LineWidth',2,...%設置曲線線寬為2'Marker','o',...

%設置曲線標記為圓

'MarkerIndices',[1316191121],...%在4個點顯示標記

'MarkerEdgeColor','r',...%設置曲線標記外框為紅色

'MarkerFaceColor','y',...%設置曲線標記內(nèi)填充黃色

'MarkerSize',8)%設置曲線標記大小為84.1二維曲線的繪制4.1.2設置曲線樣式>t=l4.1二維曲線的繪制1.圖形標注圖形標注函數(shù)的調(diào)用格式如下。 title(坐標軸標題) xlabel(x軸說明) ylabel(y軸說明) text(x,y,圖形說明) legend(圖例1,圖例2,…)title函數(shù)用于給坐標軸添加標題;xlabel、ylabel分別用于給x軸、y軸添加說明;text函數(shù)用于在指定位置(x,y)添加圖形說明;legend函數(shù)用于添加圖例,說明繪制曲線所用線型、顏色或數(shù)據(jù)點標記。4.1.3圖形標注與坐標控制4.1二維曲線的繪制1.圖形標注4.1.3圖形標注與4.1二維曲線的繪制1.圖形標注說明文字,除使用常規(guī)字符外,還可使用TeX標識符輸出其他字符和標識,如希臘字母、數(shù)學符號、公式等。在MATLAB支持的TeX字符串中,用\bf、\it、\rm標識符分別定義字形為加粗、傾斜和常規(guī)字體。表4.5中的各個字符既可以單獨使用,又可以和其他字符及命令聯(lián)合使用。為了將控制字符串、TeX標識符與輸出字符分隔開來,可以用大括號界定控制字符串以及受控制字符串的起始和結(jié)束。例如:4.1.3圖形標注與坐標控制>>text(0.3,0.5,'sin({\omega}t+{\beta})')%標注sin(ωt+β)4.1二維曲線的繪制1.圖形標注4.1.3圖形標注與4.1二維曲線的繪制上標由^

引導,下標由_

引導【例4.4】在0≤x≤2π區(qū)間內(nèi),繪制曲線y1

=

e?0.5x和y2

=e?0.5xcos(4πx),并添加圖形標注。4.1.3圖形標注與坐標控制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('xfrom0to2{\pi}');%添加坐標軸標題xlabel('VariableX'); %添加X軸說明ylabel('VariableY'); %添加Y軸說明text(1.5,0.5,'曲線y_1=e^{-0.5x}'); %在指定位置添加圖形說明text(3,-0.2,'曲線y_2=cos(4{\pi}x)e^{-0.5x}');legend('y_1','y_2') %添加圖例4.1二維曲線的繪制上標由^引導,下標由_引導44.1二維曲線的繪制2.坐標控制調(diào)用axis函數(shù)來實現(xiàn)。axis([xmin,xmax,ymin,ymax,zmin,zmax])系統(tǒng)按照給出的三個坐標軸的最小值和最大值設置坐標軸范圍,通常,繪制二維圖形時只給出前4個參數(shù)。例如:>>axis([-pi,pi,-4,4])axis函數(shù)其他用法如下。axisauto:使用默認設置。axisequal:縱、橫坐標軸采用等長刻度。 axissquare:產(chǎn)生正方形坐標軸(默認為矩形)。 axison:顯示坐標軸。axisoff:不顯示坐標軸。4.1.3圖形標注與坐標控制4.1二維曲線的繪制2.坐標控制4.1.3圖形標注與4.1二維曲線的繪制2.坐標控制給坐標軸加網(wǎng)格線用grid命令來控制。gridon命令控制顯示網(wǎng)格線gridoff命令控制不顯示網(wǎng)格線不帶參數(shù)的gr

溫馨提示

  • 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

提交評論