




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1本章內(nèi)容
MATLAB的基本繪圖命令;
MATLAB的基本繪圖命令;
MATLAB的圖形控制命令;
MATLAB的圖形修飾命令;
MATLAB的圖像、聲音與動畫處理命令。第4章MATLAB圖形處理2MATLAB受到控制界廣泛接受的另一個重要原因是因為它提供了十分方便的一系列繪圖命令。例如線性坐標、對數(shù)坐標、半對數(shù)坐標及極坐標等命令,它還允許用戶同時打開若干圖形窗口,對圖形進行標注文字說明等,它使得圖形繪制和處理的復(fù)雜工作變得簡單得令人難以置信。34.1.1二維圖形的繪制1.利用函數(shù)繪制二維圖形在MATLAB中,最基本的二維圖形的繪圖函數(shù)為plot(),其他的繪制函數(shù)都是以plot()為基礎(chǔ)的,而且調(diào)用格式都和該函數(shù)類似。因此,在本小節(jié)將詳細介紹plot()的使用方法。4.1二維圖形
在MATLAB中,二維圖形和三維圖形在繪制方法上有較大的差別。相對而言,繪制二維圖形比三維圖形要簡單。4(1)基本形式
MATLAB最基本的繪圖函數(shù)為plot()。如果y是一個n維向量,那么plot(y)繪制一個y元素和y元素排列序號1,2,…,n之間關(guān)系的線性坐標圖。如果y是一個n
m維矩陣,那么plot(y)將同時繪制出每列元素與其排列序號1,2,…,n之間關(guān)系的m條曲線。5例如>>y=[00.480.8410.910.60.14];>>plot(y)則顯示如圖4-1所示曲線。6
如果x和y是兩個等長向量,那么plot(x,y)將繪制一條x和y的之間關(guān)系的線性坐標圖。例如>>x=0:0.01:2*pi;y=sin(x);plot(x,y)則顯示如圖4-2所示曲線。7(2)多重線型
在同一圖形中可以繪制多重線型,基本命令格式為plot(x1,y1,x2,y2,…,xn,yn)
以上命令可將x1對y1,x2對y2,…,xn對yn的圖形繪制在一個圖形中,而且分別采用不同的顏色或線型。8圖4-3例如以下命令可顯示如圖4-3所示曲線。>>x=0:0.1:2*pi;plot(x,sin(x),x,cos(x))92.利用鼠標繪制圖形
MATLAB允許利用鼠標來點選屏幕點,命令格式為
[x,y,button]=ginput(n)其中n為選擇點的數(shù)目,返回的x,y
向量分別存儲被點中的n個點的坐標,而button亦為一個n維向量,它的各個分量為鼠標鍵的標號,如button(i)=1,則說明第i次按下的是鼠標左鍵,而該值為2或3則分別對應(yīng)于中鍵和右鍵。10
例4-1用鼠標左鍵繪制折線,同時在鼠標左鍵點中的位置輸出一個含有該位置信息的字符串,利用鼠標中鍵或右鍵中止繪制。解
MATLAB程序
%ex4_1.mclf;axis([0,10,0,5]);holdon;x=[];y=[];fori=1:100[x1,y1,button]=ginput(1);chstr=['(',num2str(x1),',',num2str(y1),')'];text(x1,y1,chstr);x=[x,x1];y=[y,y1];line(x,y)if(button~=1);break;endendholdoff111.圖形修飾及文本標注
MATLAB中對于同一圖形中的多重線,不僅可分別定義其線型,而且可分別選擇其顏色,帶有選項的曲線繪制命令的調(diào)用格式為
plot(x1,y1,選項,x2,y2,選項2,…,xn,yn,選項n)其中x1,x2,…,xn為x軸變量,y1,y2,…,yn為y軸變量,選項如下表4-1所示。4.1.2二維圖形的修飾12選項意義選項意義-實線.用點號繪制各數(shù)據(jù)點––虛線×叉號線—.點劃線。圓圈線:點線*星號線y黃色g綠m洋紅色b藍c青色w白r紅k黑表4-1MATLAB的繪圖命令的各種選項
13
上表中的線型和顏色選項可以同時使用,例如>>
x=0:0.1:2*pi;>>plot(x,sin(x),’-g’,x,cos(x),’-.r’)14
繪制完曲線后,MATLAB還允許用戶使用它提供的特殊繪圖函數(shù)來對屏幕上已有的圖形加注釋、題頭或坐標網(wǎng)格。例如>>
x=0:0.1:2*pi;y=sin(x);plot(x,y)>>title(‘FigureExample’)%給出題頭>>xlabel(‘Thisisxaxis’)%x軸的標注>>ylabel(‘Thisisyaxis’)%y軸的標注>>grid%增加網(wǎng)格>>legand(‘sin(x)’)%加圖例15
除了在標準位置書寫標題和軸標志以外,MATLAB還允許在圖形窗口的位置利用line()和text()命令畫直線或?qū)懽址?,它們的調(diào)用格式分別為
line(x,y)和text(x,y,chstr,選項)其中l(wèi)ine()函數(shù)在給定的圖形窗口上繪制一條由向量x和y定義的折線,text()函數(shù)是在指定的點(x,y)處寫一個chstr繪出的字符串,而選項決定x,y坐標的單位,如選項為’sc’,則x,y表示規(guī)范化的窗口相對坐標,其范圍為0到1,即左下角坐標為(0,0),而右上角的坐標為(1,1)。
16
用text()命令可以在圖形中的任意位置加上文本說明,但是必須知道其位置坐標,而利用另一個函數(shù)gtext(),則可以用鼠標來對要添加的文本字符串定位。在MATLAB的工作空間中鍵入下列命令>>gtext(‘sin(x)’)
那么在圖中,將會出現(xiàn)一個十字叉,用鼠標拖動它到添加文本的位置,單擊鼠標,gtext()命令中的文本字符串sin(x)就自動添加到指定的位置。172.圖形控制
MATLAB允許將一個圖形窗口分割成n×m部分,對每一部分可以用不同的坐標系單獨繪制圖形,窗口分割命令的調(diào)用格式為
subplot(n,m,k)其中n,m分別表示將這個圖形窗口分割的行列數(shù),k表示每一部分的代號,例如想將窗口分割成4×3個部分,則右下角的代號為12,MATLAB最多允許9×9的分割。18
盡管MATLAB可以自動根據(jù)要繪制曲線數(shù)據(jù)的范圍選擇合適的坐標系,使得曲線能夠盡可能清晰地顯示出來,但是,如果覺得自動選擇的坐標還不合適時,還可以用手動的方式來選擇新的坐標系,調(diào)用函數(shù)的格式為
axis([xmin,xmax,ymin,ymax])
另外,MATLAB還提供了清除圖形窗口命令clg、保持當前窗口的圖形命令hold、放大和縮小窗口命令zoom等。194.1.3二維特殊圖形除了基本的繪圖命令plot()外,MATLAB還允許繪制極坐標曲線、對數(shù)坐標曲線、條形圖和階梯圖等,其常用的函數(shù)如表4-2所示。函數(shù)名意義常用調(diào)用格式函數(shù)名意義常用調(diào)用格式polar()極坐標圖polar(x,y)semilogx()x-半對數(shù)圖semilogx(x,y)semilogy()y-半對數(shù)圖semilogy(x,y)loglog()對數(shù)圖logog(x,y)bar()二維條形圖bar(x,y)stairs()階梯圖stairs(x,y)comet()彗星狀軌跡圖comet(x,y)compass()羅盤圖compass(x,y)quiver()磁力線圖quiver(x,y)stem()火柴桿圖stem(x,y)feather()羽毛狀圖feather(x,y)fill()二維填充函數(shù)fill(x,y,c)errorbar()誤差限圖errorbar(x,y,ym,yM)hist()直方圖hist(y,n)表4-2特殊二維曲線繪制函數(shù)201.極坐標曲線極坐標曲線繪制函數(shù)的調(diào)用格式為polar(theta,rho,選項)其中,theta和rho分別為長度相同的角度向量和幅值向量;選項的內(nèi)容和plot()函數(shù)的基本一致。212.對數(shù)和半對數(shù)曲線
對數(shù)和半對數(shù)曲線繪制函數(shù)的調(diào)用格式分別為
semilogx(x,y,選項)
%繪制橫軸為對數(shù)標度的圖形,選項同plot()semilogy(x,y,選項)
%繪制縱軸為對數(shù)標度的圖形,選項同plot()loglog(x,y,選項)
%繪制兩個軸均為對數(shù)標度的圖形函數(shù)semilogx()僅對橫坐標進行對數(shù)變換,而縱坐標仍保持線性坐標;而semilogy()只對縱坐標進行對數(shù)變換,而橫坐標仍保持線性坐標;loglog()則分別對橫縱坐標都進行對數(shù)變換(最終得出全對數(shù)坐標的曲線來)。選項的定義與plot()函數(shù)的完全一致。22例4-2
利用圖形窗口分割方法將下列極坐標方程ρ=cos(θ/3)+1/9用四種繪圖方式畫在不同的窗口中。解
MATLAB程序
%ex4_2.mtheta=0:0.1:6*pi;rho=cos(theta/3)+1/9;subplot(2,2,1);polar(theta,rho);subplot(2,2,2);plot(theta,rho);subplot(2,2,3);semilogx(theta,rho);gridsubplot(2,2,4);hist(rho,15)則顯示如圖4-4所示曲線。23圖4-424
與線性坐標向量的選取不同,在MATLAB下還給出了一個實用的函數(shù)logspace()按對數(shù)等間距的分布來產(chǎn)生一個向量,該函數(shù)的調(diào)用格式為x=logspace(n,m,z)其中10n和10m分別表示向量的起點和終點,而z表示需要產(chǎn)生向量點個數(shù),當這參數(shù)忽略時,z將采用默認值50。254.1.4二維函數(shù)圖形
MATLAB還允許調(diào)用函數(shù)fplot()或ezplot()來直接繪制出函數(shù)的圖形,其函數(shù)的調(diào)用格式為fplot(f,[a,b],N)和ezplot(f,g,[a,b],N)其中,f,g為函數(shù)名,它既可為自定義的任意M函數(shù),也可為基本數(shù)學(xué)函數(shù);[a,b]為繪圖區(qū)間;N為點數(shù),默認時將取N=25。例如繪制如圖3-2所示的正弦函數(shù)在一個周期內(nèi)的曲線,可采用如下命令
>>fplot('sin',[0,2*pi])26
利用函數(shù)ezplot()可以直接繪制隱函數(shù)曲線,隱函數(shù)即滿足f(x,y)=0方程的x,y之間的關(guān)系式。因為很多隱函數(shù)無法求出x,y之間的關(guān)系,所以無法先定義一個x向量再求出相應(yīng)的y向量,從而不能采用plot()函數(shù)來繪制其曲線。另外,即使能求出x,y之間的顯式關(guān)系,但不是單值繪制,則繪制起來也是很麻煩的。27
例4-3試繪制隱函數(shù)的曲線。
解
MATLAB命令如下。>>ezplot('x^2*sin(x+y^2)+y^2*exp(x+y)+5*cos(x^2+y)')
執(zhí)行以上MATLAB命令,結(jié)果顯示如圖4-5所示曲線。284.2三維圖形在MATLAB中,盡管二維繪圖和三維繪圖在很多地方是一致的,但是三維圖形在很多方面是二維圖形沒有涉及的。因此,本節(jié)將詳細介紹三維圖形的繪制方法。294.2.1三維圖形的繪制1.三維曲線的繪制與二維圖形相對應(yīng),MATLAB提供了plot3()函數(shù),它允許在一個三維空間內(nèi)繪制出三維的曲線,該函數(shù)的調(diào)用格式為
plot3(x,y,z,選項)其中x,y,z為維數(shù)相同的向量,分別存儲曲線的三個坐標的值,選項的意義同plot()函數(shù)。例利用以下命令,可得到圖4-6所示曲線。>>t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)30圖4-6312.三維曲面的繪制在繪制三維曲線時,除了需要繪制單根曲線外,通常還需要繪制三維曲線的網(wǎng)格圖和表面圖,即三維曲面圖。在MATLAB中,他們對應(yīng)的函數(shù)分別為mesh()函數(shù)和surf()函數(shù)。32如果已知二元函數(shù),則可以繪制出該函數(shù)的三維曲線的網(wǎng)格圖和表面圖。在繪制三維圖之前,應(yīng)該先調(diào)用meshgrid()函數(shù)生成網(wǎng)格矩陣數(shù)據(jù)x和y,然后可以按函數(shù)公式用點運算的方式計算出z矩陣,最后就可以用mesh()函數(shù)和surf()函數(shù)進行三維圖形繪制了。他們的調(diào)用格式分別為
mesh(x,y,z,c)和surf(x,y,z,c)其中,x,y,z分別構(gòu)成該曲面的x,y和z向量;c為顏色矩陣,表示在不同的高度下的顏色范圍,如果省略此選項,則會自動地假定c=z,亦顏色的設(shè)定是正比于圖形的高度的,這樣就可以得出層次分明的三維圖形來。33例4-4試繪制二元函數(shù)的曲線。解
MATLAB命令如下。>>[x,y]=meshgrid(-3:0.1:3,-2:0.1:2);>>z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);mesh(x,y,z)執(zhí)行以上命令便可得到圖4-7所示曲線。34關(guān)于三維圖形的繪制,常用的其他命令有
surf(x,y,z)%繪制三維表面圖形
surfc(x,y,z)%繪制帶有等高線的三維表面圖形
surf1(x,y,z)%繪制帶有陰影的三維表面圖形
waterfall(x,y,z)%繪制瀑布形三維圖形
contour(x,y,z)%等高線圖形。354.2.2三維圖形的修飾對于三維圖形,除了可以像二維圖形那樣編輯線型、顏色外,還可以編輯三維圖形的視角、材質(zhì)和照明等。
1.三維圖形的旋轉(zhuǎn)
MATLAB三維圖形顯示中提供了修改視角的功能,允許用戶從任意的角度觀察三維圖形,實現(xiàn)視角轉(zhuǎn)換有兩種方法:其一是使用圖形窗口工具欄中提供的三維圖形轉(zhuǎn)換按鈕來可視地對圖形進行旋轉(zhuǎn);其二是用view()函數(shù)和rotate()函數(shù)有目的地進行旋轉(zhuǎn)。36(1)視角控制函數(shù)view()
可以利用函數(shù)view()來改變圖形的觀察點,該函數(shù)的調(diào)用格式為view(Az,E1)其中,方位角Az為視點在x-y平面投影點與y軸負方向之間的夾角,默認值為-37.5
;仰角E1為視點和x-y平面的夾角,默認值為30
。例如,俯視圖可以由view(0,90)來設(shè)置;正視圖可以由view(0,0)來設(shè)置;側(cè)視圖可以由view(90,0)來設(shè)置。37例4-5試在同一窗口中繪制二元函數(shù)曲面的三視圖和三維表面圖形。解
MATLAB命令如下。>>[x,y]=meshgrid(-3:0.1:3,-2:0.1:2);>>z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);>>subplot(2,2,1);surf(x,y,z);view(0,90);>>subplot(2,2,2);surf(x,y,z);view(90,0);>>subplot(2,2,3);surf(x,y,z);view(0,0);>>subplot(2,2,4);surf(x,y,z);執(zhí)行以上命令便可得到圖4-8所示曲線。3839(2)旋轉(zhuǎn)控制函數(shù)rotate()
和前面的函數(shù)view()不同,函數(shù)rotate()則通過旋轉(zhuǎn)變換改變原來圖形對象的數(shù)據(jù),將圖形旋轉(zhuǎn)一個角度。而函數(shù)view()則沒有改變原始數(shù)據(jù),只是改變視角。函數(shù)rotate()的調(diào)用格式為rotate(h,diretion,alpha)其中,參數(shù)h為被旋轉(zhuǎn)對象;參數(shù)diretion有兩種設(shè)置方法:球坐標設(shè)置法,將其設(shè)置為[theta,phi],其單位是“°”(度);直角坐標法,其設(shè)置為[x,y,z];參數(shù)alpha為旋轉(zhuǎn)角度,方向按照右手法。40例4-6試在MATLAB中利用函數(shù)rotate()旋轉(zhuǎn)三維圖形。解
MATLAB命令如下。>>subplot(1,2,1);z=peaks(25);surf(z);title('Default');>>subplot(1,2,2);h=surf(z);title('Rotated');>>rotate(h,[-2,-2,0],30,[2,2,0]);colormapcool執(zhí)行以上命令便可得到圖4-9所示曲線。41
由以上兩例可知,使用函數(shù)view()旋轉(zhuǎn)的是坐標軸,而使用函數(shù)rotate()旋轉(zhuǎn)的是圖形對象本身,其坐標軸保持不變。
(3)動態(tài)旋轉(zhuǎn)控制命令rotate3d
在MATLAB中,還提供了一個動態(tài)旋轉(zhuǎn)命令rotate3d。使用該命令可以動態(tài)調(diào)整圖形的視角,直到用戶覺得合適為止,而不自行輸入輸入視角的角度參數(shù)。下面通過一個簡單的例子來說明如何使用該命令。42例4-7試在MATLAB中利用命令rotate3d旋轉(zhuǎn)三維圖形的視角。解
MATLAB命令如下。>>surf(peaks(40));rotate3d;
(a)旋轉(zhuǎn)前(b)旋轉(zhuǎn)后43
執(zhí)行前一條命令surf(peaks(40))便可得到圖4-10(a)所示三維圖形。執(zhí)行后一條命令rotate3d,則在圖4-10(a)中出現(xiàn)一個旋轉(zhuǎn)的圖標,此時可在圖形窗口的區(qū)域中,按住鼠標的左鍵來調(diào)節(jié)圖形的視角,并將當前圖形的視角數(shù)值顯示在圖形窗口的下方,如圖4-10(b)所示。如對于旋轉(zhuǎn)后的圖4-10(b),其方位角和仰角分別為Az=40,E1=-8。442.
三維圖形的顏色控制圖形的色彩是圖形的主要表現(xiàn)因素,豐富的顏色變化可以讓圖形更具有表現(xiàn)力。在MATLAB中,提供了多種色彩控制命令,這些命令分別適用于不同的環(huán)境,可以對整個圖形中的所有因素進行顏色設(shè)置。
(1)背景顏色設(shè)置在MATLAB中,設(shè)置圖形背景顏色的函數(shù)是colordef(),該命令的調(diào)用格式為
colordefwhite%將圖形的背景顏色設(shè)置為白色;
colordefblack%將圖形的背景顏色設(shè)置為黑色;
colordefnone%圖形背景和圖形窗口顏色設(shè)置為默認;
colordef(fig,color_option)%將圖形句柄fig的背景顏色設(shè)置由color_option設(shè)置的顏色。45(2)圖形顏色設(shè)置
MATLAB采用顏色映像來處理圖形顏色,就是RGB色系。在MATLAB中,每種顏色都是由三個基色的數(shù)組表示的。數(shù)組元素R、G和B在平[0,1]區(qū)間取值,分別表示顏色中的紅、綠、藍三種基色的相對亮度。通過對R、G和B大小的設(shè)置,可以調(diào)制出不同的顏色。當調(diào)制好相應(yīng)的顏色后,就可以使用函數(shù)colormap()來設(shè)置圖形的顏色,該命令的調(diào)用格式為colormap([R,G,B])其中,[R,G,B]是一個三列矩陣,行數(shù)不限,這個矩陣就是所謂的色圖矩陣。在MATLAB中每一個圖形只能有一個色圖。色圖可以通過矩陣元素的直接賦值來定義,也可以按照某個數(shù)據(jù)規(guī)律產(chǎn)生。46
MATLAB中預(yù)定義了一些色圖矩陣CM,如表4-3所示。它們的維度由其調(diào)用格式來決定:CM%返回維度為64
3的色圖矩陣;CM(m)%返回維度為m3的色圖矩陣。表4-3色圖矩陣CM名稱意義名稱意義autumn紅、黃色圖bone紅、黃色圖cool青、品紅濃淡色圖copper純銅色調(diào)濃淡色圖gray灰色調(diào)濃淡色圖hot黑紅黃白色圖hsv飽和色圖jet藍頭紅尾飽和色圖47
例如利用以下命令,就可以設(shè)置圖形的顏色為青、品紅濃淡色,如圖4-11所示。
>>surf(peaks(100));colormap(cool(512));圖4-11顏色為青品紅濃淡色的三維圖48
在MATLAB中,除了colormap()函數(shù)外,還提供了多個用于設(shè)置圖形中其他元素的函數(shù)命令,如caxis和colorbar,其中caxis命令的主要功能是設(shè)置數(shù)軸的顏色;colorbar命令的主要功能是顯示指定顏色刻度的顏色標尺。他們常用的調(diào)用格式為caxis([cmin,cmax])%在[cmin,cmax]范圍內(nèi)與色圖矩陣中的色值相對應(yīng),并依次為圖形著色;caxisauto%自動計算出色值的范圍;caxismanual%按照當前的色值范圍來設(shè)置色圖范圍;colorbar%在圖形右側(cè)顯示一個垂直的顏色標尺;colorbar(‘vert’)%添加一個垂直的顏色標尺到當前的坐標系中;colorbar('horiz')%添加一個水平的顏色標尺到當前的坐標系中。49(3)圖形著色設(shè)置在MATLAB中,除了可以為圖形設(shè)置不同的顏色外,還可以設(shè)置顏色的著色方式。對于繪圖命令mesh、surf、pcolor和fill等創(chuàng)建的圖形非數(shù)據(jù)處的著色,可利用shading命令,他的調(diào)用格式為
shadingflat%使用平滑方式為圖形著色;
shadinginterp%使用平滑方式為圖形著色;
shadingfaceted%使用平滑方式為圖形著色。另外在MATLAB中,除了使用函數(shù)alpha()設(shè)置曲面數(shù)據(jù)點的透明度外,MATLAB還提供了函數(shù)alim()來設(shè)置透明度的上下限。503.
三維圖形的消隱與透視在三維空間中繪制多個圖形時,由于圖形之間要相互覆蓋,就涉及到消隱與透視的問題,消隱是指圖形間相互重疊的部分不再顯示,透視是指相互重疊的部分互不妨礙,全面顯示。
hiddenon%圖形間消隱,為默認值
hiddenoff%圖形間透視例如利用以下命令,就可以得到如圖4-12所示的圖形。>>sphere;[x0,y0,z0]=sphere;>>x=2*x0;y=2*y0;z=2*z0;>>surf(x0,y0,z0);>>holdon;mesh(x,y,z);>>hiddenoff;axisequal51
4.2.3三維特殊圖形除了基本的繪圖命令plot3()和mesh()和surf()外,MATLAB還提供很多繪制三維圖形的函數(shù),其常用的函數(shù)如表4-4所示。表4-4特殊三維圖形繪制函數(shù)函數(shù)名意義函數(shù)名意義bar3()三維垂直條形圖slice()三維切片圖bar3h()三維水平條形圖contourslice()三維切面等位線圖pie3()三維餅圖streamslice()三維流線切面線圖contour3()三維等高線waterfall()三維瀑布形圖stem3()三維針圖52
4.2.4三維函數(shù)圖形與繪制二維函數(shù)圖形類似,在MATLAB中,繪制三維函數(shù)的圖形,同樣也有一些簡易命令。和三維繪圖常見的各種命令相對應(yīng),三維圖形的簡易函數(shù)包括有ezmesh()、ezmeshc()、ezsurf()和ezsurfc()等。他們的調(diào)用格式與二維圖形的簡易函數(shù)調(diào)用格式相似。53
例4-8試繪制
的曲面線及等高線。解
MATLAB命令如下。
>>ezmeshc('y/(1+x^2+y^2)',[-5,5,-2*pi,2*pi])>>colormapcool
執(zhí)行以上MATLAB命令,結(jié)果顯示如圖4-13所示曲線。544.3四維圖形對于三維圖形,在MATLAB中可以利用的函數(shù)關(guān)系來繪制圖形。該函數(shù)的自變量只有兩個,從自變量的角度來講,就是二維的。但在實際生活和工程應(yīng)用中,有時會遇到自變量個數(shù)為3的情況,這時自變量的定義域就是整個三維空間。而計算機是有顯示維度的,它僅能顯示三個空間的變量,不能表示第四維的空間變量。對于這種矛盾關(guān)系,MATLAB采用了顏色、等位線等手段來表示第四維的變量。55
在MATLAB中,使用slice()等相關(guān)函數(shù)來顯示三維函數(shù)的切面圖和等位線圖,他們可以很方便地實現(xiàn)函數(shù)上的思維表現(xiàn),slice()函數(shù)的常用調(diào)用格式為
slice(v,sx,sy,sz)%顯示三元函數(shù)所確定的超立體形,在x,y和z三個坐標軸方向上的若干點的切片圖,各點坐標軸由數(shù)量向量sx,sy和sz來指定;
slice(x,y,z,v,sx,sy,sz)%顯示三元函數(shù)所確定的超立體形,在x,y和z三個坐標軸方向上的若干點的切片圖。也就說,如果函數(shù)有一個變量x取值x0,則函數(shù)變成一立體曲面的切片圖。各點坐標軸由數(shù)量向量sx,sy和sz來指定;56slice(v,XI,YI,ZI)%顯示由參數(shù)矩陣XI,YI和ZI確定的超立體圖形的切片圖。參數(shù)矩陣XI,YI和ZI定義了一個曲面,同時會在曲面的點上計算超立體v的值。
slice(
,'method')%參數(shù)method用來指定內(nèi)插值的方法。常見的方法包括有l(wèi)inear、cubic和nearest等,分別對應(yīng)不同的插值方法。與slice()相關(guān)的函數(shù)還有contourslice()和streamslice()等,他們分別可繪制出不同的切片圖形。下面以三個例子來說明他們的使用方法。57例4-9在MATLAB中,繪制水體水下射流速度數(shù)據(jù)flow的切片圖。解
MATLAB命令如下。>>[x,y,z,v]=flow;x1=min(min(min(x)));x2=max(max(max(x)));>>sx=linspace(x1+1.5,x2,4);slice(x,y,z,v,sx,0,0)>>shadinginterp;colormaphsv;alpha('color');colorbar執(zhí)行以上MATLAB命令,結(jié)果顯示如圖4-14所示曲線。58例4-10在MATLAB中,繪制水體水下射流速度數(shù)據(jù)flow的切面等位線圖。解
MATLAB命令如下。>>[x,y,z,v]=flow;x1=min(min(min(x)));x2=max(max(max(x)));>>v1=min(min(min(v)));v2=max(max(max(v)));>>cv=linspace(v1+1,v2,20);sx=linspace(x1+1.5,x2,4);>>contourslice(x,y,z,v,sx,0,0,cv);>>view([-12,30]);colormapcool;boxon;colorbar執(zhí)行以上MATLAB命令,結(jié)果顯示如圖4-15所示曲線。59例4-11在MATLAB中,繪制函數(shù)peaks的流線切面圖。解
MATLAB命令如下。>>clear;z=peaks;surf(z);shadinginterp;holdon;>>[cch]=contour3(z,20);set(ch,'edgecolor','b');>>[u,v]=gradient(z);h=streamslice(-u,-v);set(h,'color','k');>>fori=1:length(h);zi=interp2(z,get(h(i),'x'),get(h(i),'y'));set(h(i),'z',zi);end>>colormaphsv;view(30,50);axistight;colorbar執(zhí)行以上MATLAB命令,結(jié)果顯示如圖4-16所示曲線。604.4圖像與動畫
MATLAB提供了強大的圖像與動畫處理函數(shù),而這里由于篇幅限制,僅介紹簡單的入門知識。
4.4.1圖像處理在MATLAB中,圖像處理工具箱提供了圖像處理的強大功能。下面僅簡單介紹幾個常用的函數(shù)。611.讀圖像文件圖像文件讀取函數(shù)為imread()其調(diào)用格式為W=imread(文件名)
該命令將文件中的圖像讀入MATLAB工作空間,生成8位無符號整型三維數(shù)組W,其中W(:,:,1),W(:,:,2)和W(:,:,3)分別對應(yīng)于彩色圖像的紅色、綠色和藍色分量。如果文件中存儲的是灰度圖像,則W為矩陣,存儲圖像的像素值。
622.圖像顯示
MATLAB及其圖像處理工具箱中提供了多個圖像顯示函數(shù),如image(),imview(),imshow()和imtool(),它們各有特色。3.圖像寫回到文件
MATLAB可利函數(shù)imwrite()把數(shù)值矩陣代表的圖像數(shù)據(jù)寫回為標準格式的圖像文件,其調(diào)用格式為imwrite(W,文件名)63
例如利用以下MATLAB命令,可以讀取圖像文件P1.JPG,并將其數(shù)值矩陣W代表的部分圖像數(shù)據(jù),寫回到圖像文件P2.JPG中,其顯示結(jié)果如圖4-17所示。>>W=imread('P1.JPG');image(W)%讀取圖像文件P1.JPG到矩陣W,并顯示>>W1=W(280:1700,300:2200,:);%取圖像矩陣W的部分值,并保存為W1>>imwrite(W1,'P2.JPG');figure;%將W1中的圖像數(shù)據(jù)寫到文件P2.JPG中>>W2=imread('P2.JPG');image(W2)%讀取圖像文件P2.JPG到矩陣W2,并顯示64以上命令,首先將寬為1920像素,長為2560像素的真彩模式的圖像文件P1.JPG經(jīng)由函數(shù)imread()讀入后,產(chǎn)生了一個1920
2560
3的三維數(shù)組W,數(shù)值數(shù)組W通過函數(shù)image()將其代表的圖像顯示在MATLAB的窗口下,并標出了像素坐標位置,如圖4-17(a)所示;然后根據(jù)圖4-17(a)中的像素坐標范圍,適當選取圖像的有效區(qū)域,利用函數(shù)imwrite()得到裁剪后的圖像文件P
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨境電商建站平臺
- 智能家居 系統(tǒng)
- 市場競爭對手分析數(shù)據(jù)表
- 智能制造技術(shù)生產(chǎn)流水線操作手冊
- 三農(nóng)村公共服務(wù)智能化提升方案
- 交通物流行業(yè)綠色運輸策略方案
- 物流行業(yè)無人配送技術(shù)推廣方案
- 附件3醫(yī)院護類人員年終理論考試500題練習(xí)卷附答案
- 鄉(xiāng)村綠化美化服務(wù)方案
- 三農(nóng)產(chǎn)品電商助力農(nóng)業(yè)新興業(yè)態(tài)培育與發(fā)展方案
- 2024年度國家鐵路局信息中心面向社會公開招聘工作人員3人易考易錯模擬試題(共500題)試卷后附參考答案
- 2024北京海淀區(qū)初三一模物理試題及參考答案
- 裝飾畫教學(xué)課件
- 工余安健環(huán)管理標準
- 附件1:腫瘤防治中心評審實施細則2024年修訂版
- 2024-2030年中國自動自攻鉚釘行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- DL∕T 868-2014 焊接工藝評定規(guī)程
- 2024年北京中考語文試題及答案
- 幼兒園足球課程實施方案(18篇)
- 【地理】河南省洛陽市強基聯(lián)盟2023-2024學(xué)年高一下學(xué)期3月聯(lián)考試題(解析版)
- 2024屆上海市嘉定區(qū)高三語文一模試卷(含答案與解析)
評論
0/150
提交評論