matlab meshgrid函数_matlab入门(三)图像可视化
matlab圖像可視化
基本要求
(1)掌握?qǐng)D形窗口的創(chuàng)建與控制,以及圖形窗口的基本操作;(2)熟練掌握二維和三維繪圖基本的命令、線型控制;(3)初步掌握用特殊的圖形來(lái)表現(xiàn)特殊數(shù)據(jù)的性質(zhì),如面積圖、直方 圖、餅圖等。(4)掌握坐標(biāo)軸的控制和圖形標(biāo)注命令及其用法。1. 二維平面圖形與坐標(biāo)系
幾個(gè)基本的繪圖命令
線性坐標(biāo)曲線 plot 函數(shù)命令 plot 是 MATLAB 二維曲線繪圖中最簡(jiǎn)單、最重要、使用最廣泛的一個(gè)線性繪圖函數(shù)。它可以生成線段、曲線和參數(shù)方程曲線的函數(shù)圖形。命令格式:
在同一圖形窗口中用命令 plot(x,y)繪出正弦余弦函數(shù)的圖形。
plot 函數(shù)可以設(shè)置曲線的線段類型、定點(diǎn)標(biāo)記和線段顏色。?調(diào)用格式:plot(x,y,s) ,s 為類型說(shuō)明參數(shù),是字符串。?s 字符串可以是三種類型的符號(hào)之一,也可以是線型與顏色和定點(diǎn)標(biāo)記與顏色的組合;如果沒(méi)有 s 參數(shù),plot 將使用缺省設(shè)置(實(shí)線,前七種顏色順序著色)繪制曲線;在當(dāng)前坐標(biāo)系中繪圖時(shí),每調(diào)入一次繪圖函數(shù),MATLAB將擦掉坐標(biāo)系中已有的圖形對(duì)象。可以用 hold on 命令在一個(gè)坐標(biāo)系中增加新的圖形對(duì)象。注意MATLAB會(huì)根據(jù)新圖形的大小,重新改變坐標(biāo)系的比例。
用不同的線型和標(biāo)注來(lái)繪制兩條曲線。
圖形窗口的分割 有時(shí)需要在一個(gè)圖形窗口中顯示幾幅圖,以便對(duì)幾個(gè)函數(shù)進(jìn)行直觀、便捷的比較。由于每個(gè)繪圖命令在繪制數(shù)據(jù)圖像時(shí)都會(huì)將已有圖形覆蓋掉,而用 hold 命令不能實(shí)現(xiàn)同時(shí)顯示幾個(gè)不同坐標(biāo)尺寸下的圖形,用 figure 命令再創(chuàng)窗口又很難同時(shí)比較由不同的數(shù)據(jù)繪得的圖像。實(shí)現(xiàn)在同一個(gè)窗口中同時(shí)顯示多個(gè)圖像的命令subplot。使用格式為:
- subplot(m,n,i)
其含義為 :把圖形窗口分割為 m 行 n 列子窗口,然后選定第 i 個(gè)窗口為當(dāng)前窗口。subplot 命令不僅用于二維圖形,對(duì)三維圖形一樣適用。其本質(zhì)是將 figure 窗口分為幾個(gè)區(qū)域,再在每個(gè)區(qū)域內(nèi)分別繪圖。
- %用 subplot 函數(shù)把兩種不同的圖形綜合在一個(gè)圖形窗口中。subplot(2,2,1)t=0.1:0.1:2*pi;y=sin(t);semilogx(t,y)grid onsubplot(2,2,2)t=0:0.1:4*pi;y=sin(t);plot(t,y)subplot(2,2,3)x=1:0.01:5;y=exp(x);plot(x,y,x,y,’semilogx’,’plot’)subplot(2,2,4)x=1:0.1:10;y=sqrt(x);plot(x,y,’:rd’)
坐標(biāo)系的調(diào)整 實(shí)現(xiàn)坐標(biāo)系的調(diào)整的命令是 axis 函數(shù)。調(diào)用格式為:** axis([xmin,xmax,ymin,ymax,zmin,zmax])** 坐標(biāo)的最小值( xmin,ymin,zmin)必須小于相應(yīng)的最大值( xmax,ymax,zmax),否則會(huì)出錯(cuò)。自動(dòng)坐標(biāo)系與用 axis 函數(shù)調(diào)整后的坐標(biāo)系的比較。
2. 三維繪圖 ##
三維曲線繪圖命令 三維函數(shù) plot3主要用來(lái)表現(xiàn)單參數(shù)的三維曲線,與二維繪圖函數(shù) plot 相比,只多了第三維數(shù)據(jù)。其調(diào)用格式為:
- plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,…)
參數(shù)的含義如下:Xn、Yn、Zn:第一到三維數(shù)據(jù),是尺寸相等的向量/矩陣;s、s1、s2:是字符串,用來(lái)設(shè)置線型、顏色、數(shù)據(jù)點(diǎn)標(biāo)記。x、y、z 是向量時(shí),plot3 命令的使用
t=0:0.1:8*pi;plot3(sin(t),cos(t),t)title(’繪制螺旋線’) %用命令 title 對(duì)圖形主題進(jìn)行標(biāo)注xlabel(’sin(t)’)ylabel(’cos(t)’)zlabel(’t’)%命令 zlabel 用來(lái)指定 z 軸的數(shù)據(jù)名稱grid onx、y、z 都是矩陣時(shí),plot3 命令的使用
[X,Y]=meshgrid(-pi:0.1:pi);Z=sin(X)+cos(Y);plot3(X,Y,Z)三維曲面繪圖命令 為了繪制定義在平面區(qū)域 D =[x0,xm]×[y0,yn ]上的三維曲面z=f(x,y) ,首先將[x0,xm]在 x 方向分成 m 份,將[y0,yn]在 y 方向分成 n 份,由各劃點(diǎn)分別作平行于坐標(biāo)軸的直線,將區(qū)域 D 分成 m×n 個(gè)小矩形;對(duì)于每個(gè)小矩形,計(jì)算出網(wǎng)格點(diǎn)的函數(shù)值,決定出空間中四個(gè)頂點(diǎn)( xi,yi,f(xi,yi)),連接四個(gè)頂點(diǎn)得到一個(gè)空間的四邊形片;所有四邊形片連在一起構(gòu)成函數(shù) z=f(x,y)定義在區(qū)域 D 上的空間網(wǎng)格曲面。因此,三維曲面繪圖命令可分為平面網(wǎng)格點(diǎn)的生成、在平面網(wǎng)格基礎(chǔ)上繪制三維網(wǎng)格及對(duì)三維表面進(jìn)行處理三個(gè)步驟。
平面網(wǎng)格點(diǎn)的生成 函數(shù)命令meshgrid 用來(lái)生成 x-y 平面上的網(wǎng)格點(diǎn)矩陣。調(diào)用形式為:
- [X,Y]=meshgrid(x,y)[X,Y]=meshgrid(x) 等價(jià)于[X,Y]=meshgrid(x,x)
參數(shù)含義如下:?x:是區(qū)間[x0,xm]上分劃的向量;y:是區(qū)間[y0,yn]上分劃的向量;X,Y:輸出變量矩陣,矩陣 X 的行向量都是向量 x,矩陣 Y 的列向量都是向量 y。函數(shù) meshgrid 將由兩個(gè)向量決定的區(qū)域轉(zhuǎn)換為對(duì)應(yīng)的網(wǎng)格點(diǎn)矩陣。
三維網(wǎng)格命令 mesh 利用函數(shù)mesh生成網(wǎng)格曲面。調(diào)用格式為:
mesh(X,Y,Z,C):X、Y、Z、C 是同維數(shù)的矩陣,X、Y、Z 對(duì)應(yīng)空間上的網(wǎng)格點(diǎn),網(wǎng)格線顏色由C決定;
mesh(X,Y,Z):相當(dāng)于上面的 C=Z 的情況;
mesh(x,y,Z,C):x 和 y 是向量,Z 和 C 是同維數(shù)的矩陣,網(wǎng)格曲面的網(wǎng)格頂點(diǎn)是( x(j),y(i),Z(i,j)),網(wǎng)格線的顏色由矩陣 C 決定;
mesh(x,y,Z):相當(dāng)于上面的 C=Z 的情況;
mesh(Z,C):等價(jià)于 mesh(x,y,Z,C),此時(shí)向量x=1:n,向量 y=1:m;
mesh(Z):相當(dāng)于上面的 C=Z 的情況
mesh(...,’PropertyName’,PropertyValue,...):給函mesh設(shè)置曲面屬性。
三維表面命令 surf 函數(shù) surf 可實(shí)現(xiàn)對(duì)網(wǎng)格曲面片進(jìn)行著色,將網(wǎng)格曲面轉(zhuǎn)化為實(shí)曲面。surf 命令的調(diào)用格式與 mesh 相同。利用三維網(wǎng)格表面命令 surf 繪制圖形。
z=peaks; %繪制山峰的圖像,將函數(shù)值賦予變量z
surf(z) %對(duì)山峰的圖像進(jìn)行著色處理
shading interp %函數(shù) shading 改變著色方式
柱面的表達(dá)cylinder cylinder命令中,柱面的軸線定義為 z 軸,只要給出母線的描述就可完成一個(gè)柱面。調(diào)用格式為:
[X,Y,Z] = cylinder(R,N);
[X,Y,Z] = cylinder(R):缺省值 N=20;
[X,Y,Z] = cylinder:缺省值 N=20,R=[1,1]。
R:是一描述柱面母線的向量;N:是旋轉(zhuǎn)柱面上的分割線條數(shù);[X,Y,Z] :是返回的x,y,z坐標(biāo)向量。繪制一個(gè)柱面。
t=pi:0.01:3*pi;r=sin(t)+t;cylinder(r,30)shading interp球面的表達(dá)sphere 調(diào)用格式為:
[X,Y,Z]=sphere(N):產(chǎn)生一個(gè)( N+1)×( N+1)的矩陣,然后用函數(shù) surf 命令繪制一個(gè)單位的球面,N 為設(shè)置分割線的條數(shù);
[X,Y,Z] = sphere:缺省 N = 20。
畫一個(gè)球面。
[X,Y,Z]=sphere;surf(X,Y,Z)特殊圖形繪制
為了將抽象的數(shù)據(jù)表達(dá)得更形象,除了繪制二維、三維圖形外,還要用到直方圖、面積圖、餅圖等特殊圖形。
圖像標(biāo)注修飾
圖形標(biāo)注
坐標(biāo)軸和圖形標(biāo)題標(biāo)注 ;標(biāo)注坐標(biāo)軸 x、y 和 z 的命令函數(shù)為 xlabel、ylabel 和 zlabel ,調(diào)用格式為:
xlabel(’text’)xlabel(’text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,...)H = xlabel(...) 返回坐標(biāo)軸標(biāo)注的句柄。其中,’text’是要添加的標(biāo)注文本。’Property’是文本的屬性名,’PropertyValue’是屬性值(所用字體、大小、標(biāo)注角度等)。圖形加標(biāo)題的函數(shù)為 title,其調(diào)用格式與坐標(biāo)軸標(biāo)注類似。
圖例的標(biāo)注 legend命令實(shí)現(xiàn)不同圖例的說(shuō)明。其調(diào)用格式為:
legend(string1,string2,string3, ...)
legend(string1,string2,string3,...,Pos)
按順序把字符串添加到相應(yīng)的曲線線型符號(hào)之后;Pos對(duì)圖例的位置作出設(shè)置和調(diào)整:
0 = 自動(dòng)把圖例置于最佳位置( 和圖中曲線重復(fù)最少);1 = 置于圖形窗口的右上角( 缺省值);2 = 置于圖形窗口的左上角;3 = 置于圖形窗口的左下角;4 = 置于圖形窗口的右下角;-1 = 置于圖形窗口的右側(cè)( 外部)。控制分格線 對(duì)二維和三維圖形都適用。有三種用法:
grid on:打開分格線控制開關(guān),以后繪制的圖形都帶有分格線;
grid off:關(guān)閉分格線控制開關(guān),以后繪制的圖形都不帶分格線;
grid:用于實(shí)現(xiàn)分格線繪制切換。
舉例
繪制圖形,并用函數(shù) xlabel、title 和 legend 命令進(jìn)行標(biāo)注。
t=0:0.1:4*pi; y=sin(t); y1=cos(t);plot(t,y,':',t,y1,'r*')xlabel('x 軸 (0--4\pi)','fontsize',12,'fontweight','bold')ylabel('y 軸','fontsize',12,'fontweight','bold')title('繪制正弦波和余弦波 Pos=1','fontsize',10,'fontweight','bold','fontangle','italic')text(pi,0,'\leftarrowsin(\pi)=0')text(pi,-1,'\leftarrowcos(\pi)=-1')text(pi/2,0.9,['\uparrowsin(\pi/2)=',num2str(sin(pi/2))])text(0,-0.6,['繪圖日期:',date])text(0,-0.8,['MATLAB 版本:',version])legend('正弦波','余弦波')figure(2)plot(t,y,':',t,y1,'r*')title('繪制正弦波和余弦波 Pos=0','fontsize',10,'fontweight','bold','fontangle','italic')legend('正弦波','余弦波',0)grid onfigure(3)plot(t,y,':',t,y1,'r*')title('繪制正弦波和余弦波 Pos=-1','fontsize',10,'fontweight','bold','fontangle','italic')總結(jié)
以上是生活随笔為你收集整理的matlab meshgrid函数_matlab入门(三)图像可视化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 简谈红旗-17防空导弹系统
- 下一篇: 中国军机:歼6战斗机有多厉害?