版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章
圖形繪制【本章學(xué)習(xí)目標(biāo)】
掌握繪制二維和三維圖形的方法。掌握?qǐng)D形修飾處理方法。了解圖像處理的基本原理和方法。掌握交互式繪圖工具的使用方法。第4章
圖形繪制【本章學(xué)習(xí)目標(biāo)】
掌握繪制二維和三維圖形的方4.1二維曲線的繪制1.plot函數(shù)用于繪制平面上的線性坐標(biāo)曲線。plot(X,Y)其中,參數(shù)X和Y為向量或矩陣,分別用于存儲(chǔ)要繪制的數(shù)據(jù)點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。4.1.1繪制二維曲線4.1二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制【例4.1】繪制曲線如果plot函數(shù)的輸入?yún)?shù)的數(shù)據(jù)點(diǎn)太少,繪制的圖形不能反映數(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)當(dāng)x和y是同樣大小矩陣時(shí),配對(duì)的x、y按對(duì)應(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一個(gè)是行向量,一個(gè)是矩陣,則矩陣的列數(shù)應(yīng)與向量的元素個(gè)數(shù)相同,繪圖時(shí)按矩陣的行對(duì)數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的行數(shù);如果X或Y一個(gè)是列向量,一個(gè)是矩陣,則矩陣的行數(shù)應(yīng)與向量的元素個(gè)數(shù)相同,繪圖時(shí)按矩陣的列對(duì)數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的列數(shù)。4.1二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(2)當(dāng)plot函數(shù)只有一個(gè)輸入?yún)?shù)時(shí),即plot(y)若y是實(shí)型向量,則以該向量元素的下標(biāo)為橫坐標(biāo)、元素值為縱坐標(biāo)繪制出一條連續(xù)曲線;若y是復(fù)數(shù)向量,則分別以向量元素實(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二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(3)當(dāng)plot函數(shù)有多個(gè)輸入?yún)?shù),且都為向量時(shí),即plot(x1,y1,x2,y2,…,xn,yn)其中,x1和y1、x2和y2、……、xn和yn分別組成一組向量對(duì),以每一組向量對(duì)為橫、縱坐標(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二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制2.fplot函數(shù)根據(jù)參數(shù)函數(shù)的變化特性自適應(yīng)地設(shè)置采樣間隔。當(dāng)函數(shù)值變化緩慢時(shí),設(shè)置的采樣間隔大;當(dāng)函數(shù)值變化劇烈時(shí),設(shè)置的采樣間隔小。fplot函數(shù)的基本調(diào)用格式為:fplot(fun,lims)其中,fun代表定義曲線y坐標(biāo)的函數(shù),通常采用函數(shù)句柄的形式。lims為x軸的取值范圍,用二元行向量[xmin,xmax]描述,默認(rèn)為[-5,5]。4.1.1繪制二維曲線4.1二維曲線的繪制2.fplot函數(shù)4.1.1繪制4.1二維曲線的繪制【例4.2】用fplot函數(shù)繪制曲線
,x∈[04π]。從2016a版本開(kāi)始,MATLAB提供了fplot函數(shù)的雙輸入?yún)?shù)的用法:fplot(funx,funy,lims)其中,funx、funy代表函數(shù),通常采用函數(shù)句柄的形式。lims為參數(shù)函數(shù)funx和funy的自變量的取值范圍,用二元向量[tmin,tmax]描述。例如,例4.1也可以用以下命令實(shí)現(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.曲線基本屬性為了加強(qiáng)對(duì)比效果,我們常常會(huì)在plot函數(shù)中加上選項(xiàng),用于指定所繪曲線的線型、顏色和數(shù)據(jù)點(diǎn)標(biāo)記。4.1.2設(shè)置曲線樣式4.1二維曲線的繪制1.曲線基本屬性4.1.2設(shè)置曲4.1二維曲線的繪制1.曲線基本屬性要設(shè)置曲線樣式可以在plot函數(shù)、fplot函數(shù)中加繪圖選項(xiàng),其調(diào)用格式為:plot(x,y,選項(xiàng))plot(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,…,xn,yn,選項(xiàng)n)fplot(funx,選項(xiàng))fplot(funx,funy,選項(xiàng))4.1.2設(shè)置曲線樣式4.1二維曲線的繪制1.曲線基本屬性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)<1e-2);%查找y1與y2相等點(diǎn)(近似相等)的下標(biāo)x1=x(k); %取y1與y2相等點(diǎn)的x坐標(biāo)y3=x1.*x1-3; %求y1與y2值相等點(diǎn)的y坐標(biāo)plot(x,y1,x,y2,'k:',x1,y3,'bp');4.1二維曲線的繪制
4.1.2設(shè)置曲線樣式x=li4.1二維曲線的繪制2.其他屬性設(shè)置方法調(diào)用MATLAB繪圖函數(shù)繪制圖形,還可以采用屬性名-屬性值配對(duì)的方式設(shè)置曲線屬性,即plot(x,y,屬性1,值1,屬性2,值2,……,屬性n,值n)常用的曲線屬性有:Color:指定線條顏色,除了使用表4.2中的字符,還可以使用RGB三元組,即用行向量[RGB]指定顏色,R、G、B分別代表紅、綠、藍(lán)三種顏色成分的亮度,取值范圍為[0,1]。4.1.2設(shè)置曲線樣式4.1二維曲線的繪制2.其他屬性設(shè)置方法4.1.2設(shè)4.1二維曲線的繪制2.其他屬性設(shè)置方法常用的曲線屬性有:LineStyle:指定線型,可用值為表4.1中的字符。 LineWidth:指定線寬,缺省時(shí),線寬默認(rèn)為0.5個(gè)像素。Marker:指定標(biāo)記符號(hào)。MarkerIndices:指定哪些點(diǎn)顯示標(biāo)記,其值為向量。若未指定,默認(rèn)在每一個(gè)數(shù)據(jù)點(diǎn)顯示標(biāo)記。 MarkerEdgeColor:指定標(biāo)記符號(hào)的框線顏色。MarkerFaceColor:指定標(biāo)記符號(hào)內(nèi)的填充顏色。MarkerSize:指定標(biāo)記符號(hào)的大小,缺省時(shí),符號(hào)大小默認(rèn)為6個(gè)像素。4.1.2設(shè)置曲線樣式4.1二維曲線的繪制2.其他屬性設(shè)置方法4.1.2設(shè)4.1二維曲線的繪制4.1.2設(shè)置曲線樣式>t=linspace(0,2*pi,121);>>plot(t,sin(2*t),'Color',[000],...%設(shè)置曲線為黑色
'LineWidth',2,...%設(shè)置曲線線寬為2'Marker','o',...
%設(shè)置曲線標(biāo)記為圓
'MarkerIndices',[1316191121],...%在4個(gè)點(diǎn)顯示標(biāo)記
'MarkerEdgeColor','r',...%設(shè)置曲線標(biāo)記外框?yàn)榧t色
'MarkerFaceColor','y',...%設(shè)置曲線標(biāo)記內(nèi)填充黃色
'MarkerSize',8)%設(shè)置曲線標(biāo)記大小為84.1二維曲線的繪制4.1.2設(shè)置曲線樣式>t=l4.1二維曲線的繪制1.圖形標(biāo)注圖形標(biāo)注函數(shù)的調(diào)用格式如下。 title(坐標(biāo)軸標(biāo)題) xlabel(x軸說(shuō)明) ylabel(y軸說(shuō)明) text(x,y,圖形說(shuō)明) legend(圖例1,圖例2,…)title函數(shù)用于給坐標(biāo)軸添加標(biāo)題;xlabel、ylabel分別用于給x軸、y軸添加說(shuō)明;text函數(shù)用于在指定位置(x,y)添加圖形說(shuō)明;legend函數(shù)用于添加圖例,說(shuō)明繪制曲線所用線型、顏色或數(shù)據(jù)點(diǎn)標(biāo)記。4.1.3圖形標(biāo)注與坐標(biāo)控制4.1二維曲線的繪制1.圖形標(biāo)注4.1.3圖形標(biāo)注與4.1二維曲線的繪制1.圖形標(biāo)注說(shuō)明文字,除使用常規(guī)字符外,還可使用TeX標(biāo)識(shí)符輸出其他字符和標(biāo)識(shí),如希臘字母、數(shù)學(xué)符號(hào)、公式等。在MATLAB支持的TeX字符串中,用\bf、\it、\rm標(biāo)識(shí)符分別定義字形為加粗、傾斜和常規(guī)字體。表4.5中的各個(gè)字符既可以單獨(dú)使用,又可以和其他字符及命令聯(lián)合使用。為了將控制字符串、TeX標(biāo)識(shí)符與輸出字符分隔開(kāi)來(lái),可以用大括號(hào)界定控制字符串以及受控制字符串的起始和結(jié)束。例如:4.1.3圖形標(biāo)注與坐標(biāo)控制>>text(0.3,0.5,'sin({\omega}t+{\beta})')%標(biāo)注sin(ωt+β)4.1二維曲線的繪制1.圖形標(biāo)注4.1.3圖形標(biāo)注與4.1二維曲線的繪制上標(biāo)由^
引導(dǎo),下標(biāo)由_
引導(dǎo)【例4.4】在0≤x≤2π區(qū)間內(nèi),繪制曲線y1
=
e?0.5x和y2
=e?0.5xcos(4πx),并添加圖形標(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('xfrom0to2{\pi}');%添加坐標(biāo)軸標(biāo)題xlabel('VariableX'); %添加X(jué)軸說(shuō)明ylabel('VariableY'); %添加Y軸說(shuō)明text(1.5,0.5,'曲線y_1=e^{-0.5x}'); %在指定位置添加圖形說(shuō)明text(3,-0.2,'曲線y_2=cos(4{\pi}x)e^{-0.5x}');legend('y_1','y_2') %添加圖例4.1二維曲線的繪制上標(biāo)由^引導(dǎo),下標(biāo)由_引導(dǎo)44.1二維曲線的繪制2.坐標(biāo)控制調(diào)用axis函數(shù)來(lái)實(shí)現(xiàn)。axis([xmin,xmax,ymin,ymax,zmin,zmax])系統(tǒng)按照給出的三個(gè)坐標(biāo)軸的最小值和最大值設(shè)置坐標(biāo)軸范圍,通常,繪制二維圖形時(shí)只給出前4個(gè)參數(shù)。例如:>>axis([-pi,pi,-4,4])axis函數(shù)其他用法如下。axisauto:使用默認(rèn)設(shè)置。axisequal:縱、橫坐標(biāo)軸采用等長(zhǎng)刻度。 axissquare:產(chǎn)生正方形坐標(biāo)軸(默認(rèn)為矩形)。 axison:顯示坐標(biāo)軸。axisoff:不顯示坐標(biāo)軸。4.1.3圖形標(biāo)注與坐標(biāo)控制4.1二維曲線的繪制2.坐標(biāo)控制4.1.3圖形標(biāo)注與4.1二維曲線的繪制2.坐標(biāo)控制給坐標(biāo)軸加網(wǎng)格線用grid命令來(lái)控制。gridon命令控制顯示網(wǎng)格線gridoff命令控制不顯示網(wǎng)格線不帶參數(shù)的grid命令用于在兩種狀態(tài)之間進(jìn)行切換。給坐標(biāo)軸加邊框用box命令。box命令的使用方法與grid命令相同。如果程序中沒(méi)有出現(xiàn)box命令,默認(rèn)是有邊框線的。4.1.3圖形標(biāo)注與坐標(biāo)控制4.1二維曲線的繪制2.坐標(biāo)控制4.1.3圖形標(biāo)注與4.1二維曲線的繪制【例4.5】繪制曲線及其包絡(luò)線,x∈[0π]。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])gridon; %加網(wǎng)格線boxon; %加坐標(biāo)邊框axisequal %坐標(biāo)軸采用等刻度4.1二維曲線的繪制【例4.5】繪制曲線4.1二維曲線的繪制1.圖形窗口的分割subplot函數(shù),用來(lái)實(shí)現(xiàn)對(duì)當(dāng)前圖形窗口的分割。subplot函數(shù)的調(diào)用格式為:subplot(m,n,p)其中,參數(shù)m和n表示將圖形窗口分成m行n列個(gè)繪圖區(qū),區(qū)號(hào)按行優(yōu)先編號(hào)。第3個(gè)參數(shù)指定第p個(gè)區(qū)為當(dāng)前活動(dòng)區(qū),若p是向量,則表示將向量中的幾個(gè)區(qū)合成1個(gè)繪圖區(qū)。4.1.4多圖形顯示4.1二維曲線的繪制1.圖形窗口的分割4.1.4多圖4.1二維曲線的繪制【例4.6】在圖形窗口中,以子圖形式同時(shí)繪制多根曲線。4.1.3圖形標(biāo)注與坐標(biāo)控制x=-3:0.1:3;subplot(2,2,2);%將圖形窗口劃分成2×2——4個(gè)子圖,選定2區(qū)為當(dāng)前活動(dòng)區(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號(hào)區(qū)為當(dāng)前活動(dòng)區(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)之間進(jìn)行切換。例如:4.1.4多圖形顯示t=linspace(0,2*pi,200);x=sin(t)+sin(2*t);y=cos(t)-cos(2*t);plot(x,y);%繪制三個(gè)葉片axisequalholdon%保持原有圖形fplot(@(x)sin(x),@(x)cos(x),[-pi,pi])%繪制圓4.1二維曲線的繪制2.圖形疊加4.1.4多圖形顯示4.1二維曲線的繪制3.具有兩個(gè)縱坐標(biāo)標(biāo)度的圖形在同一個(gè)坐標(biāo)軸繪制具有不同縱坐標(biāo)標(biāo)度的兩個(gè)圖形,可以使用yyaxis函數(shù)4.1.4多圖形顯示yyaxisleftyyaxisrightyyaxis(ax,’left’)yyaxis(ax,’right’)4.1二維曲線的繪制3.具有兩個(gè)縱坐標(biāo)標(biāo)度的圖形二維曲線的繪制【例4.7】用不同標(biāo)度在同一坐標(biāo)軸內(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】用不同標(biāo)度在同一坐標(biāo)軸內(nèi)4.1二維曲線的繪制1.對(duì)數(shù)坐標(biāo)圖形semilogx(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,…)semilogy(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,…)loglog(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,…)semilogx函數(shù)使用半對(duì)數(shù)坐標(biāo),x軸為常用對(duì)數(shù)刻度,y軸為線性刻度。semilogy函數(shù)也使用半對(duì)數(shù)坐標(biāo),x軸為線性刻度,y軸為常用對(duì)數(shù)刻度。loglog函數(shù)使用全對(duì)數(shù)坐標(biāo),x軸和y軸均采用常用對(duì)數(shù)刻度。4.1.5其他坐標(biāo)系下的曲線4.1二維曲線的繪制1.對(duì)數(shù)坐標(biāo)圖形4.1.5其他坐4.1二維曲線的繪制【例4.8】繪制y
=
e?x的對(duì)數(shù)坐標(biāo)圖并與直角線性坐標(biāo)圖進(jìn)行比較。4.1.5其他坐標(biāo)系下的曲線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的對(duì)數(shù)4.1二維曲線的繪制2.極坐標(biāo)圖MATLAB中用polarplot函數(shù)來(lái)繪制極坐標(biāo)圖,其調(diào)用格式為:polarplot(theta,rho,選項(xiàng))其中,theta為極坐標(biāo)極角,rho為極坐標(biāo)極徑4.1.5其他坐標(biāo)系下的曲線4.1二維曲線的繪制2.極坐標(biāo)圖4.1.5其他坐標(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)角度為負(fù)數(shù),圖形逆時(shí)針?lè)较蛐D(zhuǎn)polarplot(t,r1)4.1二維曲線的繪制
4.1.5其他坐標(biāo)系下的曲線t4.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是矩陣時(shí),大小應(yīng)和Z相同;參數(shù)n指定用n條水平線來(lái)繪制等高線;v是單調(diào)遞增向量,其中的每一個(gè)元素對(duì)應(yīng)一條水平線的值,等高線的個(gè)數(shù)為v中元素的個(gè)數(shù)。contour函數(shù)用于繪制常規(guī)等高線圖contourf函數(shù)用于繪制填充方式的等高線圖。4.1.5其他坐標(biāo)系下的曲線4.1二維曲線的繪制3.等高線圖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),20)>>colorbar4.1.5其他坐標(biāo)系下的曲線4.1二維曲線的繪制3.等高線圖4.1.5其他坐標(biāo)系4.2其他二維圖形的繪制1.條形圖函數(shù)用于顯示不同時(shí)間點(diǎn)的數(shù)據(jù)大小或比較各組數(shù)據(jù)的大小。bar函數(shù)的基本調(diào)用格式為:bar(x,width,style)參數(shù)x存儲(chǔ)繪圖數(shù)據(jù)。選項(xiàng)width設(shè)置條形的相對(duì)寬度和控制在一組內(nèi)條形的間距,默認(rèn)寬度為0.8;選項(xiàng)style用于指定分組排列模式,類(lèi)型有'grouped'(簇狀分組)、'stacked'(堆積)、'histc'(橫向直方圖)、'hist'(縱向直方圖),默認(rèn)采用簇狀分組排列模式。4.2.1條形類(lèi)圖形4.2其他二維圖形的繪制1.條形圖函數(shù)4.2.1條形4.2其他二維圖形的繪制【例4.10】表4.7所示為某公司3類(lèi)產(chǎn)品各季度的銷(xiāo)售額(單位:萬(wàn)元),分別按季度繪制簇狀柱形圖和堆積條形圖。4.2.1條形類(lèi)圖形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存儲(chǔ)繪圖數(shù)據(jù)。選項(xiàng)nbins用于設(shè)置統(tǒng)計(jì)區(qū)間的劃分方式。若nbins是一個(gè)正整數(shù),則統(tǒng)計(jì)區(qū)間均分成nbins個(gè)小區(qū)間;若nbins是向量,則向量中的每一個(gè)元素指定各區(qū)間的最小值,默認(rèn)按x中的值自動(dòng)確定劃分的區(qū)間數(shù)。4.2.1條形類(lèi)圖形4.2其他二維圖形的繪制2.直方圖函數(shù)4.2.1條形4.2其他二維圖形的繪制3.玫瑰花圖又稱為角度直方圖。MATLAB提供rose函數(shù)繪制玫瑰花圖,rose函數(shù)的用法如下:rose(theta,nbins)參數(shù)theta是一個(gè)向量,用于確定每一區(qū)間與原點(diǎn)的角度。繪圖時(shí)將圓劃分為若干個(gè)角度相同的扇形區(qū)域,每一扇形區(qū)域三角形的高度反映了落入該區(qū)間的theta元素的個(gè)數(shù)。若nbins是標(biāo)量,則在[0,2π]區(qū)間內(nèi)均勻劃分為nbins個(gè)扇形區(qū)域;若nbins為向量,指定分組中心值,nbins元素的個(gè)數(shù)為數(shù)據(jù)分組數(shù),默認(rèn)為20。4.2.1條形類(lèi)圖形4.2其他二維圖形的繪制3.玫瑰花圖4.2.1條形類(lèi)4.2其他二維圖形的繪制1.扇形統(tǒng)計(jì)圖pie函數(shù)的基本調(diào)用格式為:pie(x,explode)參數(shù)x存儲(chǔ)繪圖數(shù)據(jù)。explode是與x同等大小的向量或矩陣,與explode的非零值對(duì)應(yīng)的部分將從餅圖中心分離出來(lái)。explode缺省時(shí),餅圖是一個(gè)整體。例如,用餅圖分析例4.10中產(chǎn)品A該年度各季度的產(chǎn)品銷(xiāo)售情況:4.2.2面積類(lèi)圖形x=[51,82,34,47;67,78,68,90;78,85,65,50]';pie(x(:,1),[0001])%對(duì)應(yīng)第四季度的部分從餅圖中心分離title('產(chǎn)品A銷(xiāo)售情況');legend('一季度','二季度','三季度','四季度');4.2其他二維圖形的繪制1.扇形統(tǒng)計(jì)圖4.2.2面積4.2其他二維圖形的繪制2.面積圖area函數(shù)的基本調(diào)用格式為:area(Y,basevalue)若Y是向量,以Y為縱坐標(biāo)繪制一條曲線;若Y是矩陣,則矩陣Y的每一列元素對(duì)應(yīng)一條曲線,堆疊繪制多條曲線。選項(xiàng)basevalue指定區(qū)域的基值,默認(rèn)為0。例如,將例4.10的產(chǎn)品銷(xiāo)售情況用面積圖描述,使用以下命令:4.2.2面積類(lèi)圖形>>x=[51,82,34,47;67,78,68,90;78,85,65,50]';>>area(x);4.2其他二維圖形的繪制2.面積圖4.2.2面積類(lèi)圖4.2其他二維圖形的繪制3.實(shí)心圖fill函數(shù)用于繪制實(shí)心圖,其調(diào)用格式為:fill(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,…)按向量元素下標(biāo)漸增次序依次用直線段連接x、y對(duì)應(yīng)元素定義的數(shù)據(jù)點(diǎn)。若連接所得折線不封閉,MATLAB將自動(dòng)把該折線的首尾連接起來(lái)?!纠?.11】繪制一個(gè)藍(lán)色的六邊形。4.2.2面積類(lèi)圖形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.實(shí)心圖4.2.2面積類(lèi)圖4.2其他二維圖形的繪制3.實(shí)心圖scatter函數(shù)常用于呈現(xiàn)二維空間中數(shù)據(jù)點(diǎn)的分布情況,其基本調(diào)用格式為:scatter(x,y,s,c,'fill')參數(shù)x和y存儲(chǔ)繪圖數(shù)據(jù);選項(xiàng)s指定各個(gè)數(shù)據(jù)點(diǎn)的大?。贿x項(xiàng)c指定繪圖所使用的色彩。如果數(shù)據(jù)點(diǎn)標(biāo)記符號(hào)是封閉圖形,如圓圈或方塊,可以用選項(xiàng)‘filled’指定填充數(shù)據(jù)點(diǎn)標(biāo)記,默認(rèn)數(shù)據(jù)點(diǎn)是空心的。4.2.3散點(diǎn)類(lèi)圖形4.2其他二維圖形的繪制3.實(shí)心圖4.2.3散點(diǎn)類(lèi)圖4.2其他二維圖形的繪制【例4.12】表4.9所示為某冷飲點(diǎn)熱飲銷(xiāo)售與氣溫關(guān)系的記錄,繪制散點(diǎn)圖觀察熱飲銷(xiāo)售隨氣溫變化的趨勢(shì)。4.2.3散點(diǎn)類(lèi)圖形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ù)用從原點(diǎn)發(fā)射出的箭頭表示矢量,繪制的圖形又稱為羅盤(pán)圖;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為復(fù)型量。繪制圖形時(shí),quiver函數(shù)以(x,y)為起點(diǎn),quiver3函數(shù)以(x,y,z)為起點(diǎn),u、v、w為x、y、z方向的速度分量。4.2.4矢量場(chǎng)圖形4.2其他二維圖形的繪制compass函數(shù)用從原點(diǎn)發(fā)射出4.2其他二維圖形的繪制4.2.4矢量場(chǎng)圖形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矢量場(chǎng)圖形z=[14.3三維圖形的繪制1.plot3函數(shù)基本調(diào)用格式為:plot3(x,y,z,選項(xiàng))參數(shù)x、y、z組成一組曲線的空間坐標(biāo)。通常,x、y和z為長(zhǎng)度相同的向量,x、y、z對(duì)應(yīng)元素構(gòu)成一條曲線上各數(shù)據(jù)點(diǎn)的空間坐標(biāo);當(dāng)x、y、z是同樣大小的矩陣時(shí),則以x、y、z對(duì)應(yīng)列元素作為數(shù)據(jù)點(diǎn)坐標(biāo),曲線條數(shù)等于矩陣列數(shù)。當(dāng)x、y、z中有向量,也有矩陣時(shí),行向量的長(zhǎng)度與矩陣的列數(shù)相同,列向量的長(zhǎng)度與矩陣的行數(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ù)的變化特性自適應(yīng)地設(shè)置采樣間隔。當(dāng)函數(shù)值變化緩慢時(shí),設(shè)置的采樣間隔大;當(dāng)函數(shù)值變化劇烈時(shí),設(shè)置的采樣間隔小。fplot3函數(shù)的基本調(diào)用格式為:fplot3(funx,funy,funz,lims,選項(xiàng))參數(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三維圖形的繪制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)格坐標(biāo)矩陣將x方向區(qū)間[a,b]分成m份,將y方向區(qū)間[c,d
]分成n份,由各劃分點(diǎn)分別作平行于兩坐標(biāo)軸的直線,將區(qū)域[a,b]
×
[c,d
]分成m
×
n個(gè)小網(wǎng)格,生成代表每一個(gè)小網(wǎng)格頂點(diǎn)坐標(biāo)的網(wǎng)格坐標(biāo)矩陣。4.3.2三維曲面4.3三維圖形的繪制1.產(chǎn)生網(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)利用矩陣運(yùn)算生成。(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三維圖形的繪制1.產(chǎn)生網(wǎng)格坐標(biāo)矩陣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)格頂點(diǎn)的xy平面坐標(biāo),z定義網(wǎng)格頂點(diǎn)的高度。選項(xiàng)c用于指定在不同高度下的補(bǔ)面顏色。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ù)的變化特性自適應(yīng)地設(shè)置網(wǎng)格頂點(diǎn)間距。fmesh(funx,funy,funz,lims,選項(xiàng))fsurf(funx,funy,funz,lims,選項(xiàng))fsurf(funx,funy,funz,lims,選項(xiàng))參數(shù)funx、funy、funz代表定義曲面網(wǎng)格頂點(diǎn)x、y、z坐標(biāo)的函數(shù),通常采用函數(shù)句柄的形式。參數(shù)函數(shù)funx、funy、funz有兩個(gè)自變量,lims為自變量的取值范圍,用4元向量[umin,umax,vmin,vmax]描述,umin、vmin為自變量的下限,umax、vmax為自變量的上限,默認(rèn)為[-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.標(biāo)準(zhǔn)三維曲面(1)sphere函數(shù)用于繪制三維球面,其調(diào)用格式為[x,y,z]=sphere(n)該函數(shù)將產(chǎn)生3個(gè)(n+1)階的方陣x、y、z,采用這3個(gè)矩陣可以繪制出圓心位于原點(diǎn)、半徑為1的單位球體。若在調(diào)用該函數(shù)時(shí)不帶輸出參數(shù),則直接繪制球面。選項(xiàng)n決定了球面的圓滑程度,n越大,繪制出的球體表面越光滑,默認(rèn)值為20。4.3.2三維曲面4.3三維圖形的繪制4.標(biāo)準(zhǔn)三維曲面4.3.2三維曲4.3三維圖形的繪制4.標(biāo)準(zhǔn)三維曲面(2)cylinder函數(shù)用于繪制柱面,其調(diào)用格式為[x,y,z]=cylinder(R,n)其中,選項(xiàng)R是一個(gè)向量,存放柱面各個(gè)等間隔高度上的半徑,默認(rèn)為1,即圓柱的底面半徑為1;選項(xiàng)n表示在圓柱圓周上有n個(gè)間隔點(diǎn),默認(rèn)有20個(gè)間隔點(diǎn)。4.3.2三維曲面4.3三維圖形的繪制4.標(biāo)準(zhǔn)三維曲面4.3.2三維曲4.3三維圖形的繪制4.標(biāo)準(zhǔn)三維曲面(2)cylinder函數(shù)4.3.2三維曲面subplot(1,3,1)cylinder(3)%繪制一個(gè)底面半徑為3的圓柱面subplot(1,3,2)cylinder(0:0.1:1.5)%參數(shù)是線性漸變的向量,繪制一個(gè)圓錐面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)三維曲面4.3.2三維曲4.3三維圖形的繪制4.標(biāo)準(zhǔn)三維曲面(3)peaks函數(shù)。peaks函數(shù)也稱為多峰函數(shù),常用于生成平面網(wǎng)格頂點(diǎn)的高度矩陣?;菊{(diào)用格式為:Z=peaks(n)Z=peaks(V)Z=peaks(X,Y)第1種格式中的參數(shù)n指定將[?3,3]區(qū)間劃分成n-1等分,生成一個(gè)n階方陣,默認(rèn)為49階方陣。第2種格式的參數(shù)V是一個(gè)向量,生成1個(gè)方陣。第3種格式中的參數(shù)X、Y是大小相同的矩陣,定義平面網(wǎng)格頂點(diǎn)坐標(biāo)。若在調(diào)用peaks函數(shù)時(shí)不帶輸出參數(shù),則直接繪制出多峰函數(shù)曲面。4.3.2三維曲面4.3三維圖形的繪制4.標(biāo)準(zhǔn)三維曲面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的視點(diǎn)位置用方位角和仰角表示。方位角又稱旋轉(zhuǎn)角,是視點(diǎn)與原點(diǎn)連線在xy平面上的投影與y軸負(fù)方向形成的角度,正值表示逆時(shí)針,負(fù)值表示順時(shí)針。仰角又稱視角,是視點(diǎn)與原點(diǎn)連線與xy平面的夾角,正值表示視點(diǎn)在xy平面上方,負(fù)值表示視點(diǎn)在xy平面下方。4.4.1視點(diǎn)處理4.4圖形修飾處理MATLAB的視點(diǎn)位置用方位角和仰角表4.4圖形修飾處理MATLAB提供了設(shè)置視點(diǎn)的函數(shù)view,其調(diào)用格式為view(az,el)view(x,y,z)view(2)view(3)第1種格式中,az為方位角,el為仰角,以度為單位。第2種格式中,x、y、z為視點(diǎn)在笛卡爾坐標(biāo)系中的位置。第3種格式設(shè)置從二維平面觀察圖形,即az=0°,el=90°。第4種格式設(shè)置從三維空間觀察圖形,視點(diǎn)使用默認(rèn)方位角和仰角(az=-37.5°,el=30°)。4.4.1視點(diǎn)處理4.4圖形修飾處理MATLAB提供了設(shè)置視點(diǎn)的函數(shù)vie4.4圖形修飾處理
4.4.1視點(diǎn)處理[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視點(diǎn)處理[x,y]=m4.4圖形修飾處理1.色圖色圖(Colormap)是MATLAB填充表面所使用的顏色參照表。色圖是一個(gè)m×3的數(shù)值矩陣,其每一行是一個(gè)RGB三元組。MATLAB中使用函數(shù)colormap設(shè)置和獲取當(dāng)前圖形所使用的色圖,函數(shù)的調(diào)用格式為colormapcmapnamecolormap(cmap)cmap=colormap參數(shù)cmapname是內(nèi)建的色圖函數(shù),cmap是色圖矩陣。第1、2種格式用于設(shè)置色圖,第3種格式用于獲取當(dāng)前色圖。4.4.2色彩處理4.4圖形修飾處理1.色圖4.4.2色彩處理4.4圖形修飾處理1.色圖例如,使用以下命令,創(chuàng)建一個(gè)灰色系列色圖矩陣。>>c=[0,0.2,0.4,0.6,0.8,1]';>>cmap=[c,c,c];也可以調(diào)用MATLAB提供的色圖函數(shù)來(lái)定義色圖矩陣。>>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.三維圖形表面的著色用色圖矩陣中定義的各種顏色在每一個(gè)網(wǎng)格片上涂抹顏色。以surf函數(shù)為例,說(shuō)明與著色有關(guān)的屬性的設(shè)置方法。方法如下:surf(X,Y,Z,選項(xiàng),值)選項(xiàng)包括FaceColor和EdgeColor,分別用于設(shè)置網(wǎng)格片和網(wǎng)格邊框線的著色方式,可取值有:'flat':每個(gè)網(wǎng)格片內(nèi)用系統(tǒng)默認(rèn)色圖中的單一顏色填充,這是系統(tǒng)的默認(rèn)方式。'interp':每個(gè)網(wǎng)格片內(nèi)填充漸變色,漸變采用插值法計(jì)算。'none':每個(gè)網(wǎng)格片內(nèi)不填充顏色。'texturemap':每個(gè)網(wǎng)格片內(nèi)用紋理填充。RGB三元組或顏色字符:每個(gè)網(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命令來(lái)改變色差,從而影響圖形表面著色效果。shading命令的調(diào)用格式為shading選項(xiàng)選項(xiàng)有如下3種取值。
faceted:將每個(gè)網(wǎng)格片用色圖中與其高度對(duì)應(yīng)的顏色進(jìn)行著色,網(wǎng)格線是黑色。這是系統(tǒng)的默認(rèn)著色方式。
interp:在網(wǎng)格片內(nèi)和網(wǎng)格間的色差采用插值處理,無(wú)網(wǎng)格線。
flat:將每個(gè)網(wǎng)格片用同一個(gè)顏色進(jìn)行著色,網(wǎng)格線的顏色與網(wǎng)格片的顏色相同。4.4.2色彩處理4.4圖形修飾處理3.圖形表面的色差4.4.2色彩處4.4圖形修飾處理【例4.20】不同色差對(duì)圖形顯示效果的影響。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】不同色差對(duì)圖形顯示效果的4.4圖形修飾處理將圖形中需要裁剪部分對(duì)應(yīng)的函數(shù)值設(shè)置成NaN,這樣在繪制圖形時(shí),函數(shù)值為NaN的部分將不顯示出來(lái),從而達(dá)到對(duì)圖形進(jìn)行裁剪的目的。4.4.3圖形的裁剪處理4.4圖形修飾處理將圖形中需要裁剪部分對(duì)應(yīng)的函數(shù)值設(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.圖像文件讀寫(xiě)函數(shù)imread函數(shù)用于從文件中讀取圖像數(shù)據(jù)到MATLAB工作空間,imwrite函數(shù)用于將圖像像素位置、顏色信息寫(xiě)入文件。函數(shù)的調(diào)用格式為A=imread(fname,fmt)imwrite(A,fname)參數(shù)fname存儲(chǔ)讀/寫(xiě)的圖像文件名;選項(xiàng)fmt為圖像文件格式,如'bmp'、'jpg'、'gif'、'tif'、'png'等4.5.1圖像數(shù)據(jù)讀寫(xiě)與顯示4.5圖像處理1.圖像文件讀寫(xiě)函數(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用于存儲(chǔ)圖像數(shù)據(jù),x、y指定圖像顯示的位置和大小,map指定顯示圖形時(shí)采用的色圖。若A是二維數(shù)組,則image(A)用單一色系的顏色繪制圖形,imshow(A)用黑白色繪制圖形,imagesc(A)使用經(jīng)過(guò)標(biāo)度映射的顏色繪制圖形。4.5.1圖像數(shù)據(jù)讀寫(xiě)與顯示4.5圖像處理2.圖像顯示函數(shù)4.5.1圖像數(shù)據(jù)讀寫(xiě)4.5圖像處理【例4.22】繪制多峰曲面,并用三種方式繪制水平面上的投影。4.5.1圖像數(shù)據(jù)讀寫(xiě)與顯示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)選項(xiàng)h為坐標(biāo)軸句柄或圖形窗口句柄,默認(rèn)從當(dāng)前坐標(biāo)軸捕獲圖像數(shù)據(jù)。第2種調(diào)用格式指定從某個(gè)區(qū)域捕獲圖像數(shù)據(jù)。圖像數(shù)據(jù)存儲(chǔ)于結(jié)構(gòu)體變量F中,F(xiàn)的第1個(gè)分量存儲(chǔ)圖像各個(gè)點(diǎn)的顏色,第2個(gè)分量存儲(chǔ)色圖。4.5.2圖像捕獲與播放4.5圖像處理getframe函數(shù)用于捕獲圖像數(shù)據(jù),函數(shù)4.5圖像處理movie函數(shù)用于播放錄制的的影片幀,通過(guò)控制播放速度產(chǎn)生逐幀動(dòng)畫(huà)效果。movie函數(shù)的調(diào)用格式為:movie(M,n,fps)參數(shù)M保存了用getframe函數(shù)獲取的多幀圖像數(shù)據(jù),每列存儲(chǔ)一幀圖像數(shù)據(jù)。選項(xiàng)n控制循環(huán)播放的次數(shù),默認(rèn)值為1。選項(xiàng)fps指定以每秒fps幀的速度播放影片,默認(rèn)值為12。4.5.2圖像捕獲與播放4.5圖像處理movie函數(shù)用于播放錄制的的影片幀,通過(guò)4.5圖像處理【例4.23】繪制一個(gè)水平放置的瓶狀柱面,并且將它繞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幀以不同視點(diǎn)呈現(xiàn)的圖形fork=1:20view(-37.5+18*(k-1),30) %改變視點(diǎn)
M(k)=getframe; endmovie(M,2); %用默認(rèn)的播放速度播放2次4.5圖像處理【例4.23】繪制一個(gè)水平放置的瓶狀柱面,4.6交互式繪圖工具工具條提供了繪制圖形的基本命令?!八x內(nèi)容”命令組:用于顯示已選中用于繪圖的變量;“繪圖”命令組:提供繪制各種圖形的命令;“選項(xiàng)”命令組:選項(xiàng)用于設(shè)置繪圖時(shí)是否新建圖形窗口。4.6.1繪圖選項(xiàng)卡4.6交互式繪圖工具工具條提供了繪制圖形的基本命令。4.4.6交互式繪圖工具figure命令打開(kāi)一個(gè)圖形窗口。4.6.2圖形窗口工具欄圖窗選項(xiàng)板繪圖瀏覽器屬性編輯器4.6交互式繪圖工具figure命令打開(kāi)一個(gè)圖形窗口。4第4章
圖形繪制【本章學(xué)習(xí)目標(biāo)】
掌握繪制二維和三維圖形的方法。掌握?qǐng)D形修飾處理方法。了解圖像處理的基本原理和方法。掌握交互式繪圖工具的使用方法。第4章
圖形繪制【本章學(xué)習(xí)目標(biāo)】
掌握繪制二維和三維圖形的方4.1二維曲線的繪制1.plot函數(shù)用于繪制平面上的線性坐標(biāo)曲線。plot(X,Y)其中,參數(shù)X和Y為向量或矩陣,分別用于存儲(chǔ)要繪制的數(shù)據(jù)點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。4.1.1繪制二維曲線4.1二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制【例4.1】繪制曲線如果plot函數(shù)的輸入?yún)?shù)的數(shù)據(jù)點(diǎn)太少,繪制的圖形不能反映數(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)當(dāng)x和y是同樣大小矩陣時(shí),配對(duì)的x、y按對(duì)應(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一個(gè)是行向量,一個(gè)是矩陣,則矩陣的列數(shù)應(yīng)與向量的元素個(gè)數(shù)相同,繪圖時(shí)按矩陣的行對(duì)數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的行數(shù);如果X或Y一個(gè)是列向量,一個(gè)是矩陣,則矩陣的行數(shù)應(yīng)與向量的元素個(gè)數(shù)相同,繪圖時(shí)按矩陣的列對(duì)數(shù)據(jù)分組繪制,曲線條數(shù)為矩陣的列數(shù)。4.1二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(2)當(dāng)plot函數(shù)只有一個(gè)輸入?yún)?shù)時(shí),即plot(y)若y是實(shí)型向量,則以該向量元素的下標(biāo)為橫坐標(biāo)、元素值為縱坐標(biāo)繪制出一條連續(xù)曲線;若y是復(fù)數(shù)向量,則分別以向量元素實(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二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制1.plot函數(shù)plot函數(shù)的輸入?yún)?shù)變化形式:(3)當(dāng)plot函數(shù)有多個(gè)輸入?yún)?shù),且都為向量時(shí),即plot(x1,y1,x2,y2,…,xn,yn)其中,x1和y1、x2和y2、……、xn和yn分別組成一組向量對(duì),以每一組向量對(duì)為橫、縱坐標(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二維曲線的繪制1.plot函數(shù)4.1.1繪制二4.1二維曲線的繪制2.fplot函數(shù)根據(jù)參數(shù)函數(shù)的變化特性自適應(yīng)地設(shè)置采樣間隔。當(dāng)函數(shù)值變化緩慢時(shí),設(shè)置的采樣間隔大;當(dāng)函數(shù)值變化劇烈時(shí),設(shè)置的采樣間隔小。fplot函數(shù)的基本調(diào)用格式為:fplot(fun,lims)其中,fun代表定義曲線y坐標(biāo)的函數(shù),通常采用函數(shù)句柄的形式。lims為x軸的取值范圍,用二元行向量[xmin,xmax]描述,默認(rèn)為[-5,5]。4.1.1繪制二維曲線4.1二維曲線的繪制2.fplot函數(shù)4.1.1繪制4.1二維曲線的繪制【例4.2】用fplot函數(shù)繪制曲線
,x∈[04π]。從2016a版本開(kāi)始,MATLAB提供了fplot函數(shù)的雙輸入?yún)?shù)的用法:fplot(funx,funy,lims)其中,funx、funy代表函數(shù),通常采用函數(shù)句柄的形式。lims為參數(shù)函數(shù)funx和funy的自變量的取值范圍,用二元向量[tmin,tmax]描述。例如,例4.1也可以用以下命令實(shí)現(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.曲線基本屬性為了加強(qiáng)對(duì)比效果,我們常常會(huì)在plot函數(shù)中加上選項(xiàng),用于指定所繪曲線的線型、顏色和數(shù)據(jù)點(diǎn)標(biāo)記。4.1.2設(shè)置曲線樣式4.1二維曲線的繪制1.曲線基本屬性4.1.2設(shè)置曲4.1二維曲線的繪制1.曲線基本屬性要設(shè)置曲線樣式可以在plot函數(shù)、fplot函數(shù)中加繪圖選項(xiàng),其調(diào)用格式為:plot(x,y,選項(xiàng))plot(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,…,xn,yn,選項(xiàng)n)fplot(funx,選項(xiàng))fplot(funx,funy,選項(xiàng))4.1.2設(shè)置曲線樣式4.1二維曲線的繪制1.曲線基本屬性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)<1e-2);%查找y1與y2相等點(diǎn)(近似相等)的下標(biāo)x1=x(k); %取y1與y2相等點(diǎn)的x坐標(biāo)y3=x1.*x1-3; %求y1與y2值相等點(diǎn)的y坐標(biāo)plot(x,y1,x,y2,'k:',x1,y3,'bp');4.1二維曲線的繪制
4.1.2設(shè)置曲線樣式x=li4.1二維曲線的繪制2.其他屬性設(shè)置方法調(diào)用MATLAB繪圖函數(shù)繪制圖形,還可以采用屬性名-屬性值配對(duì)的方式設(shè)置曲線屬性,即plot(x,y,屬性1,值1,屬性2,值2,……,屬性n,值n)常用的曲線屬性有:Color:指定線條顏色,除了使用表4.2中的字符,還可以使用RGB三元組,即用行向量[RGB]指定顏色,R、G、B分別代表紅、綠、藍(lán)三種顏色成分的亮度,取值范圍為[0,1]。4.1.2設(shè)置曲線樣式4.1二維曲線的繪制2.其他屬性設(shè)置方法4.1.2設(shè)4.1二維曲線的繪制2.其他屬性設(shè)置方法常用的曲線屬性有:LineStyle:指定線型,可用值為表4.1中的字符。 LineWidth:指定線寬,缺省時(shí),線寬默認(rèn)為0.5個(gè)像素。Marker:指定標(biāo)記符號(hào)。MarkerIndices:指定哪些點(diǎn)顯示標(biāo)記,其值為向量。若未指定,默認(rèn)在每一個(gè)數(shù)據(jù)點(diǎn)顯示標(biāo)記。 MarkerEdgeColor:指定標(biāo)記符號(hào)的框線顏色。MarkerFaceColor:指定標(biāo)記符號(hào)內(nèi)的填充顏色。MarkerSize:指定標(biāo)記符號(hào)的大小,缺省時(shí),符號(hào)大小默認(rèn)為6個(gè)像素。4.1.2設(shè)置曲線樣式4.1二維曲線的繪制2.其他屬性設(shè)置方法4.1.2設(shè)4.1二維曲線的繪制4.1.2設(shè)置曲線樣式>t=linspace(0,2*pi,121);>>plot(t,sin(2*t),'Color',[000],...%設(shè)置曲線為黑色
'LineWidth',2,...%設(shè)置曲線線寬為2'Marker','o',...
%設(shè)置曲線標(biāo)記為圓
'MarkerIndices',[1316191121],...%在4個(gè)點(diǎn)顯示標(biāo)記
'MarkerEdgeColor','r',...%設(shè)置曲線標(biāo)記外框?yàn)榧t色
'MarkerFaceColor','y',...%設(shè)置曲線標(biāo)記內(nèi)填充黃色
'MarkerSize',8)%設(shè)置曲線標(biāo)記大小為84.1二維曲線的繪制4.1.2設(shè)置曲線樣式>t=l4.1二維曲線的繪制1.圖形標(biāo)注圖形標(biāo)注函數(shù)的調(diào)用格式如下。 title(坐標(biāo)軸標(biāo)題) xlabel(x軸說(shuō)明) ylabel(y軸說(shuō)明) text(x,y,圖形說(shuō)明) legend(圖例1,圖例2,…)title函數(shù)用于給坐標(biāo)軸添加標(biāo)題;xlabel、ylabel分別用于給x軸、y軸添加說(shuō)明;text函數(shù)用于在指定位置(x,y)添加圖形說(shuō)明;legend函數(shù)用于添加圖例,說(shuō)明繪制曲線所用線型、顏色或數(shù)據(jù)點(diǎn)標(biāo)記。4.1.3圖形標(biāo)注與坐標(biāo)控制4.1二維曲線的繪制1.圖形標(biāo)注4.1.3圖形標(biāo)注與4.1二維曲線的繪制1.圖形標(biāo)注說(shuō)明文字,除使用常規(guī)字符外,還可使用TeX標(biāo)識(shí)符輸出其他字符和標(biāo)識(shí),如希臘字母、數(shù)學(xué)符號(hào)、公式等。在MATLAB支持的TeX字符串中,用\bf、\it、\rm標(biāo)識(shí)符分別定義字形為加粗、傾斜和常規(guī)字體。表4.5中的各個(gè)字符既可以單獨(dú)使用,又可以和其他字符及命令聯(lián)合使用。為了將控制字符串、TeX標(biāo)識(shí)符與輸出字符分隔開(kāi)來(lái),可以用大括號(hào)界定控制字符串以及受控制字符串的起始和結(jié)束。例如:4.1.3圖形標(biāo)注與坐標(biāo)控制>>text(0.3,0.5,'sin({\omega}t+{\beta})')%標(biāo)注sin(ωt+β)4.1二維曲線的繪制1.圖形標(biāo)注4.1.3圖形標(biāo)注與4.1二維曲線的繪制上標(biāo)由^
引導(dǎo),下標(biāo)由_
引導(dǎo)【例4.4】在0≤x≤2π區(qū)間內(nèi),繪制曲線y1
=
e?0.5x和y2
=e?0.5xcos(4πx),并添加圖形標(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('xfrom0to2{\pi}');%添加坐標(biāo)軸標(biāo)題xlabel('VariableX'); %添加X(jué)軸說(shuō)明ylabel('VariableY'); %添加Y軸說(shuō)明text(1.5,0.5,'曲線y_1=e^{-0.5x}'); %在指定位置添加圖形說(shuō)明text(3,-0.2,'曲線y_2=cos(4{\pi}x)e^{-0.5x}');legend('y_1','y_2') %添加圖例4.1二維曲線的繪制上標(biāo)由^引導(dǎo),下標(biāo)由_引導(dǎo)44.1二維曲線的繪制2.坐標(biāo)控制調(diào)用axis函數(shù)來(lái)實(shí)現(xiàn)。axis([xmin,xmax,ymin,ymax,zmin,zmax])系統(tǒng)按照給出的三個(gè)坐標(biāo)軸的最小值和最大值設(shè)置坐標(biāo)軸范圍,通常,繪制二維圖形時(shí)只給出前4個(gè)參數(shù)。例如:>>axis([-pi,pi,-4,4])axis函數(shù)其他用法如下。axisauto:使用默認(rèn)設(shè)置。axisequal:縱、橫坐標(biāo)軸采用等長(zhǎng)刻度。 axissquare:產(chǎn)生正方形坐標(biāo)軸(默認(rèn)為矩形)。 axison:顯示坐標(biāo)軸。axisoff:不顯示坐標(biāo)軸。4.1.3圖形標(biāo)注與坐標(biāo)控制4.1二維曲線的繪制2.坐標(biāo)控制4.1.3圖形標(biāo)注與4.1二維曲線的繪制2.坐標(biāo)控制給坐標(biāo)軸加網(wǎng)格線用grid命令來(lái)控制。gridon命令控制顯示網(wǎng)格線gridoff命令控制不顯示網(wǎng)格線不帶參數(shù)的gr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024幼兒園特色課程開(kāi)發(fā)與教師聘用合同2篇
- 2025年度城市道路橋梁養(yǎng)護(hù)與維修合同范本3篇
- 2024年餐館承包經(jīng)營(yíng)協(xié)議6篇
- 2024年車(chē)聯(lián)網(wǎng)技術(shù)研究與應(yīng)用合同
- 2025年度化學(xué)品船運(yùn)輸安全責(zé)任協(xié)議書(shū)模板3篇
- 2024版文化創(chuàng)意產(chǎn)業(yè)項(xiàng)目投資與合作協(xié)議
- (完整版)信號(hào)與系統(tǒng)(吳大正)-完整版答案-糾錯(cuò)修改后版本
- 世界現(xiàn)代設(shè)計(jì)史簡(jiǎn)述
- 克雷洛夫寓言中的狐貍和烏鴉好詞好句讀后感
- 浙江理工大學(xué)《城市經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- (完整版)100道湊十法練習(xí)題
- 光伏逆變器一課件
- 2023年上海師范大學(xué)輔導(dǎo)員招聘考試筆試題庫(kù)及答案解析
- (完整版)英語(yǔ)高頻詞匯800詞
- 嚴(yán)重精神障礙患者發(fā)病報(bào)告卡
- 《基礎(chǔ)馬來(lái)語(yǔ)》課程標(biāo)準(zhǔn)(高職)
- 2021年國(guó)標(biāo)熱鍍鋅鋼管規(guī)格、尺寸理論重量表
- 烏魯木齊基準(zhǔn)地價(jià)修正體系
- DB32-T 3177-2017草莓-蕹菜水旱輪作設(shè)施栽培技術(shù)規(guī)程 -(高清現(xiàn)行)
- GB∕T 3216-2016 回轉(zhuǎn)動(dòng)力泵 水力性能驗(yàn)收試驗(yàn) 1級(jí)、2級(jí)和3級(jí)
- 七年級(jí)數(shù)學(xué)資料培優(yōu)匯總精華
評(píng)論
0/150
提交評(píng)論