資料2函數(shù)可視化_第1頁
資料2函數(shù)可視化_第2頁
資料2函數(shù)可視化_第3頁
資料2函數(shù)可視化_第4頁
資料2函數(shù)可視化_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 MatLab圖形繪制功能一、 二維平面圖形基本繪圖函數(shù)命 令含 義plot建立向量或矩陣各隊隊向量的圖形loglogx、y軸都取對數(shù)標(biāo)度建立圖形semilogxx軸用于對數(shù)標(biāo)度,y軸線性標(biāo)度繪制圖形semilogyy軸用于對數(shù)標(biāo)度,x軸線性標(biāo)度繪制圖形title給圖形加標(biāo)題xlabel給x軸加標(biāo)記ylabel給y軸加標(biāo)記text在圖形指定的位置上加文本字符串gtext在鼠標(biāo)的位置上加文本字符串grid打開網(wǎng)格線plot繪圖函數(shù)的叁數(shù) 字元 顏色字元 圖線型態(tài)y 黃色. 點k 黑色o 圓w 白色x xb 藍(lán)色+ +g 綠色* *r 紅色- 實線c 亮青色: 點線m 錳紫色-. 點虛線- 虛線

2、hold on 命令用于在已畫好的圖形上添加新的圖形plot是繪制一維曲線的基本函數(shù),但在使用此函數(shù)之前,我們需先定義曲線上每一點的x及y座標(biāo)。下例可畫出一條正弦曲線: x=0:0.001:10; % 0到10的1000個點的x座標(biāo)y=sin(x); % 對應(yīng)的y座標(biāo)plot(x,y); % 繪圖Y=sin(10*x);plot(x,y,'r:',x,Y,'b') % 同時畫兩個函數(shù)· 若要改變顏色,在座標(biāo)對後面加上相關(guān)字串即可: x=0:0.01:10; plot(x,sin(x),'r') 若要同時改變顏色及圖線型態(tài)(Line st

3、yle),也是在坐標(biāo)對後面加上相關(guān)字串即可:plot(x,sin(x),'r*')用axis(xmin,xmax,ymin,ymax)函數(shù)來調(diào)整圖軸的范圍axis(0,6,-1.5,1)MATLAB也可對圖形加上各種注解與處理:xlabel('x軸'); % x軸注解 ylabel('y軸'); % y軸注解 title('余弦函數(shù)'); % 圖形標(biāo)題 legend('y = cos(x)'); % 圖形注解 gtext('y = cos(x)'); % 圖形注解 ,用鼠標(biāo)定位注解位置grid on

4、; % 顯示格線 fplot的指令可以用來自動的畫一個已定義的函數(shù)分布圖,而無須產(chǎn)生繪圖所須要的一組數(shù)據(jù)做為變數(shù)。其語法為fplot('fun',xmin xmax ymin ymax),其中 fun為一已定義的函數(shù)名稱,例如 sin, cos等等;而 xmin, xmax, ymin, ymax 則是設(shè)定繪圖橫軸及縱軸的下限及上限。以下的例子是將一函數(shù) f(x)=sin(x)/x 在-20<x<20,-0.4<y<1.2之間畫出:>> fplot('sin(x)./x',-20 20 -0.4 1.2) 【例】畫橢圓a =

5、0:pi/50:2*pi'%角度 X = cos(a)*3;%參數(shù)方程Y = sin(a)*2;plot(X,Y);xlabel('x'), ylabel('y');title('橢圓') 圖形窗口的分割一般用命令subplot:subplot(2,2,1);subplot(2,3,4);plot3命令將繪制二維圖形的函數(shù)plot的特性擴(kuò)展到三維空間圖形。函數(shù)格式除了包括第三維的信息(比如Z方向)之外,與二維函數(shù)plot相同。plot3一般語法調(diào)用格式是plot3(x,y,z,S),這里x,y和z是向量或矩陣,S是可選的字符串,用來指定顏

6、色、標(biāo)記符號和/或線形(s可以省略)。三維螺旋線例子: t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) grid %添加網(wǎng)格plot3可畫出空間中的曲線: t=linspace(0,20*pi, 501); plot3(t.*sin(t), t.*cos(t), t); %注意用點乘 .*亦可同時畫出兩條空間中的曲線:t=linspace(0, 10*pi, 501); plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t); 正弦曲線圖 x=linspace(0,3*pi); % 0到 3pi 間100

7、個數(shù)據(jù)點 z1=sin(x); z2=sin(2*x); z3=sin(3*x); y1=zeros(100); % 含有100個數(shù)據(jù)的 0數(shù)組 y3=zeros(100); y2=y3/2; plot3(x,y1,z1,x,y2,z2,x,y3,z3);后面供同學(xué)們參考:MATLAB還有其他各種二維繪圖函數(shù),以適合不同的應(yīng)用,詳見下表。 小整理:其他各種二維繪圖函數(shù) bar 長條圖errorbar 圖形加上誤差范圍 fplot 較精確的函數(shù)圖形 polar 極座標(biāo)圖hist 累計圖rose 極座標(biāo)累計圖stairs 階梯圖stem 針狀圖fill 實心圖feather 羽毛圖compass

8、羅盤圖quiver 向量場圖當(dāng)資料點數(shù)量不多時,長條圖是很適合的表示方式: close all; % 關(guān)閉所有的圖形視窗 x=1:10; y=rand(size(x); bar(x,y); 如果已知資料的誤差量,就可用errorbar來表示。下例以單位標(biāo)準(zhǔn)差來做資料的誤差量: x = linspace(0,2*pi,30); y = sin(x); e = std(y)*ones(size(x); errorbar(x,y,e) 對於變化劇烈的函數(shù),可用fplot來進(jìn)行較精確的繪圖,會對劇烈變化處進(jìn)行較密集的取樣,如下例: fplot('sin(1/x)', 0.02 0.2)

9、; % 0.02 0.2是繪圖范圍 若要產(chǎn)生極座標(biāo)圖形,可用polar: theta=linspace(0, 2*pi); r=cos(4*theta); polar(theta, r); 對於大量的資料,我們可用hist來顯示資料的分情況和統(tǒng)計特性。下面幾個命令可用來驗證randn產(chǎn)生的高斯亂數(shù)分: x=randn(5000, 1); % 產(chǎn)生5000個 m=0,s=1 的高斯亂數(shù) hist(x,20); % 20代表長條的個數(shù) rose和hist很接近,只不過是將資料大小視為角度,資料個數(shù)視為距離,并用極座標(biāo)繪制表示: x=randn(1000, 1); rose(x); stairs可畫

10、出階梯圖: x=linspace(0,10,50); y=sin(x).*exp(-x/3); stairs(x,y); stems可產(chǎn)生針狀圖,常被用來繪制數(shù)位訊號: x=linspace(0,10,50); y=sin(x).*exp(-x/3); stem(x,y); stairs將資料點視為多邊行頂點,并將此多邊行涂上顏色: x=linspace(0,10,50); y=sin(x).*exp(-x/3); fill(x,y,'b'); % 'b'為藍(lán)色 feather將每一個資料點視復(fù)數(shù),并以箭號畫出: theta=linspace(0, 2*pi,

11、20); z = cos(theta)+i*sin(theta); feather(z); compass和feather很接近,只是每個箭號的起點都在圓點: theta=linspace(0, 2*pi, 20); z = cos(theta)+i*sin(theta); compass(z); 二、 三維立體圖形三維繪圖函數(shù)contour二維等值線圖,即從上向下看contour3等值線圖contour3等值線圖fill3填充的多邊形mesh網(wǎng)格圖meshc具有基本等值線圖的網(wǎng)格圖meshz有零平面的網(wǎng)格圖pcolor二維偽彩色繪圖,即從上向下看surf圖plot3直線圖quiver二維帶方

12、向箭頭的速度圖surf曲面圖surfc具有基本等值線圖的曲面圖surfl帶亮度的曲面圖waterfall無交叉線的網(wǎng)格圖 三維繪圖工具axis修正坐標(biāo)軸屬性clf清除圖形窗口clabel放置等值線標(biāo)簽close關(guān)閉圖形窗口figure創(chuàng)建或選擇圖形窗口getframe捕捉動畫楨grid放置網(wǎng)格griddata對畫圖用的數(shù)據(jù)進(jìn)行內(nèi)插hidden隱蔽網(wǎng)格圖線條hold保留當(dāng)前圖形meshgrid產(chǎn)生三維繪圖數(shù)據(jù)movie放動畫moviein創(chuàng)建楨矩陣,存儲動畫shading在曲面圖和偽彩色圖中用分塊、平滑和插值加陰影subplot在圖形窗口內(nèi)畫子圖text在指定的位置放文本title放置標(biāo)題vie

13、w改變圖形的視角xlabel放置x軸標(biāo)記ylabel放置y軸標(biāo)記zlabel放置z軸標(biāo)記函數(shù)viewview(az,el)設(shè)置視圖的方位角az和仰角elview(az,el)view(x,y,z)在笛卡兒坐標(biāo)系中沿向量x,y,z正視原點設(shè)置視圖,例如view(0 0 1)=view(0,90)view(2)設(shè)置缺省的二維視圖,az=0,el=90view(3)設(shè)置缺省的三維視圖,az=-37.5,el=30az,el=view返回當(dāng)前的方位角az和仰角elview(T)用一個4×4的轉(zhuǎn)置矩陣T來設(shè)置視圖T=view返回當(dāng)前的4×4轉(zhuǎn)置矩陣 plot3命令將繪制二維圖形的函數(shù)

14、plot的特性擴(kuò)展到三維空間圖形。函數(shù)格式除了包括第三維的信息(比如Z方向)之外,與二維函數(shù)plot相同。plot3一般語法調(diào)用格式是plot3(x,y,z,S),這里x,y和z是向量或矩陣,S是可選的字符串,用來指定顏色、標(biāo)記符號和/或線形(s可以省略)。三維螺旋線例子: t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) grid %添加網(wǎng)格plot3可畫出空間中的曲線: t=linspace(0,20*pi, 501); plot3(t.*sin(t), t.*cos(t), t); %注意用點乘 .*亦可同時畫出兩條空間中的曲線:t=linspace(0,

15、10*pi, 501); plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t); 正弦曲線圖 x=linspace(0,3*pi); % 0到 3pi 間100個數(shù)據(jù)點 z1=sin(x); z2=sin(2*x); z3=sin(3*x); y1=zeros(100); % 含有100個數(shù)據(jù)的 0數(shù)組 y3=zeros(100); y2=y3/2; plot3(x,y1,z1,x,y2,z2,x,y3,z3);利用在xy平面的矩形網(wǎng)格點上的z軸坐標(biāo)值,MATLAB定義了一個網(wǎng)格曲面。MATLAB通過將鄰接的點用直線連接起來形成網(wǎng)狀曲

16、面,其結(jié)果好象在數(shù)據(jù)點有結(jié)點的魚網(wǎng)。mesh可畫出立體網(wǎng)狀圖.畫出由函數(shù)形成的立體網(wǎng)狀圖: x=linspace(-2, 2, 25); % 在x軸上取25點 y=linspace(-2, 2, 25); % 在y軸上取25點 xx,yy=meshgrid(x, y); % xx和yy都是21x21的矩陣 zz=xx.*exp(-xx.2-yy.2); % 計算函數(shù)值,zz也是21x21的矩陣 mesh(xx, yy, zz); % 畫出立體網(wǎng)狀圖 曲面圖,除了各線條之間的空檔(稱作補(bǔ)片)用顏色填充以外,和網(wǎng)格圖看起來是一樣的。這種圖一般使用函數(shù)surf來繪制。surf和mesh的用法類似:

17、x=linspace(-2, 2, 25); % 在x軸上取25點 y=linspace(-2, 2, 25); % 在y軸上取25點 xx,yy=meshgrid(x, y); % xx和yy都是21x21的矩陣 zz=xx.*exp(-xx.2-yy.2); % 計算函數(shù)值,zz也是21x21的矩陣 surf(xx, yy, zz); % 畫出立體曲面圖 MATLAB提供了一個peaks函數(shù),可產(chǎn)生一個凹凸有致的曲面,包含了三個局部極大點及三個局部極小點,其方程式為: 要畫出此函數(shù)的最快方法即是直接鍵入peaks: peaks z = 3*(1-x).2.*exp(-(x.2) - (y+

18、1).2) . - 10*(x/5 - x.3 - y.5).*exp(-x.2-y.2) . - 1/3*exp(-(x+1).2 - y.2) 我們亦可對peaks函數(shù)取點,再以各種不同方法進(jìn)行繪圖。meshz可將曲面加上圍裙: x,y,z=peaks; meshz(x,y,z); waterfall可在x方向或y方向產(chǎn)生水流效果: x,y,z=peaks; waterfall(x,y,z); 下列命令產(chǎn)生在y方向的水流效果: x,y,z=peaks; waterfall(x',y',z'); meshc同時畫出網(wǎng)狀圖與等高線: x,y,z=peaks; meshc

19、(x,y,z); surfc同時畫出曲面圖與等高線: x,y,z=peaks; surfc(x,y,z); contour3畫出曲面在三度空間中的等高線: contour3(peaks, 20); contour畫出曲面等高線在XY平面的投影: contour(peaks, 20); 剔透玲瓏球X0,Y0,Z0=sphere(30); %產(chǎn)生單位球面的三維坐標(biāo)X=2*X0;Y=2*Y0;Z=2*Z0; %產(chǎn)生半徑為2的球面的三維坐標(biāo)surf(X0,Y0,Z0); %畫單位球面shading interp %采用插補(bǔ)明暗處理hold on; mesh(X,Y,Z);hold off %畫外球面hidden off %產(chǎn)生透視效果axis off %不顯示坐標(biāo)軸動態(tài)圖形動畫效果 彗星狀軌

溫馨提示

  • 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

提交評論