基于MATLAB的數(shù)值分析_第1頁
基于MATLAB的數(shù)值分析_第2頁
基于MATLAB的數(shù)值分析_第3頁
基于MATLAB的數(shù)值分析_第4頁
基于MATLAB的數(shù)值分析_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章Matlab繪圖

2.1離散數(shù)據(jù)和離散函數(shù)的繪圖【例】用圖形表示離散函數(shù)。n=(0:12)'; y=1./abs(n-6); plot(n,y,'r*','MarkerSize',20) gridon 基于MATLAB的數(shù)值分析(2)點(diǎn)的大?。篗arkerSize色彩符號:藍(lán)b品紅m綠g黃y紅r黑k青c白w標(biāo)記類型符號:點(diǎn).五角形p加號+正方形s星號*三角形^菱形dx標(biāo)記x圓形o基于MATLAB的數(shù)值分析(2)2.2二維曲線繪圖的基本操作

【例】二維曲線繪圖基本指令演示。

t=(0:pi/50:2*pi)';

Y=cos(t);plot(t,Y) 再試驗plot(t),plot(Y),plot(Y,t),以觀察產(chǎn)生圖形的不同。

plot(x,y):以x為橫坐標(biāo)、y為縱坐標(biāo)繪制二維圖形x,y是同維數(shù)的向量;plot(y):相當(dāng)于x=[1,2,…,length(y)]時情形?;贛ATLAB的數(shù)值分析(2)繪制多個圖形1.plot(x,[y1;y2;…]),x是橫坐標(biāo)向量,[y1;y2;…]是由若干函數(shù)的縱坐標(biāo)拼成的矩陣2.plot(x,y1),holdon,plot(x,y2),

holdoff3.plot(x,y1,x,y2,…)4.plotyy兩個坐標(biāo)系,用于繪制不同尺度的函數(shù)?;贛ATLAB的數(shù)值分析(2)【例】二維曲線繪圖基本指令演示。

t=(0:pi/50:2*pi)'; k=0.4:0.1:1; Y=cos(t)*k; plot(t,Y)再試驗plot(t),plot(Y),plot(Y,t),以觀察產(chǎn)生圖形的不同。

基于MATLAB的數(shù)值分析(2)

多次疊繪

hold

:holdon,holdoff

【例】利用hold繪制離散信號通過零階保持器后產(chǎn)生的波形。t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t);stem(t,y,'g');holdon;stairs(t,y,'r');holdoff

基于MATLAB的數(shù)值分析(2)

雙縱坐標(biāo)圖

plotyy(x1,y1,x2,y2)【例】畫出函數(shù)和積分在區(qū)間上的曲線。clf;dx=0.1;x=0:dx:4;y=x.*sin(x);s=cumtrapz(y)*dx;plotyy(x,y,x,s),text(0.5,0,'\fontsize{14}\ity=xsinx')text(2.5,3.5,['\fontsize{14}\its=',sint,'\fontsize{14}\itxsinxdx'])

cumtrapz:求累計積分text:標(biāo)識內(nèi)容的位置基于MATLAB的數(shù)值分析(2)線型、點(diǎn)形和顏色的控制plot(x,y,‘顏色+線型+點(diǎn)形’)plot(x,y,‘顏色+線型+點(diǎn)形’,x,y,‘顏色+線型+點(diǎn)形’,…)句柄圖形和set命令改變屬性值,可套用:h=plot(x,y),set(h,‘屬性’,屬性值,‘屬性’,屬性值,…)也可用plot(x,y,'屬性','屬性值')設(shè)置圖形對象的屬性?;贛ATLAB的數(shù)值分析(2)屬性變量和屬性值線寬:LineWidth點(diǎn)的大?。篗arkerSize線型:LineStyle顏色:color色彩符號:藍(lán)b品紅m綠g黃y紅r黑k青c白w標(biāo)記類型符號:點(diǎn).五角形p加號+正方形s星號*三角形^菱形dx標(biāo)記x圓形o線類型符號:實(shí)線-虛線--點(diǎn)線:點(diǎn)劃線-.基于MATLAB的數(shù)值分析(2)【例】用圖形表示離散函數(shù)。n=(0:12)'; y=1./abs(n-6); plot(n,y,'r*',…'MarkerSize',20) gridon 例改變繪圖的線型和顏色。程序h=plot([0:0.1:2*pi],sin([0:0.1:2*pi]));set(h,'LineWidth',5,'color','red');基于MATLAB的數(shù)值分析(2)坐標(biāo)軸的控制axis指令

axis([xminxmaxyminymax]):設(shè)定二維圖形的x和y坐標(biāo)的范圍;

axis([xminxmaxyminymaxzminymax]):設(shè)定三維圖形的坐標(biāo)范圍;其中xmin<x<xmax,ymin<y<ymax,zmin<z<zmax。axis:axison(使用軸背景),axisoff(取消軸背景)axisequal,axisfill,axisimage,axisnormal,axissquare,axistight,axisvis3d基于MATLAB的數(shù)值分析(2)【例】用圖形表示連續(xù)調(diào)制波形

及其包絡(luò)線。t=(0:pi/100:pi)'; y1=sin(t)*[1,-1]; y2=sin(t).*sin(9*t); t3=pi*(0:9)/9; y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')axis([0,pi,-1,1])

基于MATLAB的數(shù)值分析(2)

分格線和坐標(biāo)框

grid:gridon(畫出分格線),gridoff(不畫出分格線)box:boxon(坐標(biāo)呈封閉形式),boxoff(坐標(biāo)呈開啟形式)【例】n=(0:12)'; y=1./abs(n-6); Subplot(1,2,1),plot(n,y,'r*','MarkerSize',20),boxonSubplot(1,2,2),plot(n,y,'r*','MarkerSize',20),boxoff基于MATLAB的數(shù)值分析(2)文字標(biāo)注

title(‘圖形標(biāo)題’);xlabel(‘x軸名稱’);ylabel(‘y軸名稱’);zlabel(‘z軸名稱’);text(‘說明文字’):創(chuàng)建說明文字;gtext(‘說明文字’):用鼠標(biāo)在特定位置輸入文字。legend

(‘說明文字’):創(chuàng)建說明文字;文字標(biāo)注常用符號:\pi(π);\alpha(α);\beta(β);\leftarrow(左箭頭)\rightarrow(右箭頭);\bullet(點(diǎn)號)基于MATLAB的數(shù)值分析(2)

例:clf;x=0:0.05:5;y=sin(x);plot(x,y)xlabel('x'),ylabel('y')legend('y=sin(x)')例:clf;x=0:0.05:5;y=sin(x);plot(x,y)gtext('y=sin(x)')基于MATLAB的數(shù)值分析(2)【例】

clf;t=0:pi/50:2*pi;y=sin(t);plot(t,y);axis([0,2*pi,-1.2,1.2])text(pi/2,1,'\leftarrow\it{sin(t)}極大值','fontsize',18,'color','r')注:圖形中文本的顏色和字號可以改變基于MATLAB的數(shù)值分析(2)繪制平面曲線(程序講解,exp2_1.m)clf,t=0:0.1:3*pi;alpha=0:0.1:3*pi;plot(t,sin(t),'r-');holdon;plot(alpha,3*exp(-0.5*alpha),'k:');xlabel('\it{t(deg)}');ylabel('\it{magnitude}');title('\it{sinewaveand{\it{Ae}}^{-\alpha{\itt}}wave}');

基于MATLAB的數(shù)值分析(2)【例】采用模型畫一組橢圓。th=[0:pi/50:2*pi]'; a=[0.5:.5:4.5]; X=cos(th)*a; Y=sin(th)*sqrt(25-a.^2); plot(X,Y)axis('equal') xlabel('x'),ylabel('y') title('AsetofEllipses')

基于MATLAB的數(shù)值分析(2)圖形窗口的創(chuàng)建和分割

subplot(m,n,k)命令。在圖形區(qū)域中顯示多個圖形窗口。

m為上下分割數(shù),n為左右分割數(shù),k為第k子圖編號?;贛ATLAB的數(shù)值分析(2)【例】用圖形表示連續(xù)調(diào)制波形t1=(0:11)/11*pi; y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi; y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子圖(1)')subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子圖(2)')subplot(2,2,3),plot(t1,y1,t1,y1,'r.')axis([0,pi,-1,1]),title('子圖(3)')subplot(2,2,4),plot(t2,y2,'linewidth',4)axis([0,pi,-1,1]),title('子圖(4)')

基于MATLAB的數(shù)值分析(2)基于MATLAB的數(shù)值分析(2)若干有用的指令clf:將圖形窗口的全部內(nèi)容清除。shg:顯示圖形窗口。figure:

打開一個新的圖形窗口。figure(n):打開第n個圖形窗口cla:將所繪曲線清除并重畫坐標(biāo)軸。close(n):將關(guān)閉編號為n的圖形窗口,closeall:

將關(guān)閉所有圖形窗口.基于MATLAB的數(shù)值分析(2)【例】觀察各種軸控制指令的影響。演示采用長軸為3.25,短軸為1.15的橢圓。注意:采用多子圖表現(xiàn)時,圖形形狀不僅受“控制指令”影響,而且受整個圖面“寬高比”及“子圖數(shù)目”的影響。

t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);subplot(2,3,1),plot(x,y),axisnormal,gridon,title('NormalandGridon')subplot(2,3,2),plot(x,y),axisequal,gridon,title('Equal')subplot(2,3,3),plot(x,y),axissquare,gridon,title('Square')subplot(2,3,4),plot(x,y),axisimage,boxoff,title('ImageandBoxoff')基于MATLAB的數(shù)值分析(2)subplot(2,3,5),plot(x,y),axisimagefill,boxofftitle('ImageandFill')subplot(2,3,6),plot(x,y),axistight,boxoff,title('Tight')

基于MATLAB的數(shù)值分析(2)極坐標(biāo)繪圖:polar(x,y)對數(shù)繪圖:loglog(x,y)半對數(shù)繪圖:semilogx(x,y),semilogy(x,y)其它繪圖命令【例】

clf;t=0:.05:pi+.01;y=sin(3*t).*exp(-0.3*t);polar(t,y)title('polarplot')Gridon【例】

clf;t=0.1:.1:3;y=exp(t.*t);semilogy(t,y)gridxlabel('t');ylabel('exp(t.*t)');基于MATLAB的數(shù)值分析(2)若干特殊圖形

x=[1:10];y=[56348110356];subplot(2,3,1),bar(x,y),axis([110111])subplot(2,3,2),hist(y,x),axis([11014])subplot(2,3,3),stem(x,y,'k'),axis([110111])subplot(2,3,4),stairs(x,y,'k'),axis([110111])subplot(2,3,5),x=[130.55];explode=[0001];pie(x,explode)subplot(2,3,6),z=0:0.1:100;x=sin(z);y=cos(z).*10;comet3(x,y,z)

基于MATLAB的數(shù)值分析(2)交互式圖形指令[x,y]=ginput(n):用鼠標(biāo)從二維圖形上獲取n個點(diǎn)的數(shù)據(jù)坐標(biāo)(x,y).

gtext('agr'):用鼠標(biāo)把字符串a(chǎn)gr放置到圖形上。legend('agr',pos):在指定位置建立圖例。

pos取值0,1(缺省值),2,3,4,-1Legendoff:擦出當(dāng)前圖上的圖例?;贛ATLAB的數(shù)值分析(2)2.3

三維繪圖的基本操作

繪制二元函數(shù)基本步驟:1.生成二維網(wǎng)格點(diǎn)2.計算函數(shù)在網(wǎng)格點(diǎn)上的值3.繪制函數(shù)圖形基于MATLAB的數(shù)值分析(2)xm=[012];ym=[123];[x,y]=meshgrid(xm,ym);meshgrid指令:生成網(wǎng)格點(diǎn)a=-0.98;b=0.98;c=-1;d=1;n=10;x=linspace(a,b,n);y=linspace(c,d,n);[X,Y]=meshgrid(x,y);plot(X,Y,'+')基于MATLAB的數(shù)值分析(2)三維繪圖指令mesh(X,Y,z):在三維空間中繪出由(X,Y,z)表示的曲面;meshz(X,Y,z):除了具有mesh的功能外,還畫出上下高度線,meshc(X,Y,z):除了具有mesh的功能外,還在曲面的下方畫出函數(shù)z=f(x,y)的等值線圖,surf(X,Y,z):也是三維繪圖指令,與mesh的區(qū)別在于mesh繪出彩色的線,surf繪出彩色的面,基于MATLAB的數(shù)值分析(2)

【例】用曲面圖表現(xiàn)函數(shù)clf,x=-4:4;y=x;[X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z);holdon,colormap(hot),holdon,stem3(X,Y,Z,'bo')

注:meshgrid通過一維數(shù)組生成二維陣列基于MATLAB的數(shù)值分析(2)

【例】用色圖陣表現(xiàn)函數(shù)的不同特征。演示:當(dāng)三維網(wǎng)線圖、曲面圖的第四個輸入宗量取一些特殊矩陣時,色彩就能表現(xiàn)或加強(qiáng)函數(shù)的某特征(如本例的全導(dǎo)數(shù)和曲率)。x=3*pi*(-1:1/15:1);y=x;[X,Y]=meshgrid(x,y);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;[dzdx,dzdy]=gradient(Z);dzdr=sqrt(dzdx.^2+dzdy.^2);dz2=del2(Z); subplot(1,2,1),surf(X,Y,Z,abs(dzdr))shadingfaceted;brighten(0.6);colorbar('horiz')title('No.1surf(X,Y,Z,abs(dzdr))')subplot(1,2,2),surf(X,Y,Z,abs(dz2)) shadingfaceted;colorbar('horiz')title('No.2surf(X,Y,Z,abs(dz2))')基于MATLAB的數(shù)值分析(2)

基于MATLAB的數(shù)值分析(2)1.視點(diǎn)控制View([az,el])例:View([-37.5,30])View([vx,vy,vz])上次看到的三維圖形的精細(xì)控制2.色彩控制用色風(fēng)格colordef(fig,options),options=white,black色圖colormap(CM),CM=hot,jet,cool,…基于MATLAB的數(shù)值分析(2)等值線指令表現(xiàn)二維函數(shù)的圖形的另一種方式是繪制等值線圖。contour(X,Y,z,level):

level是表示等高線高度的數(shù)組contour(X,Y,z,n):n條等高線,n可缺??;contourf(X,Y,z,n):等值線間用不同的顏色填滿,有更好的視覺效果;contour3(X,Y,z,n):在三維空間畫出等值線圖colorbar:將顏色與函數(shù)值對應(yīng)起來顯示在圖中?;贛ATLAB的數(shù)值分析(2)

繪等值線圖clear,clc,clf,axissquarexm=-2:.2:2;ym=-2:.2:2;[x,y]=meshgrid(xm,ym);z=x.*exp(-x.^2-y.^2);zmax=max(max(z));zmin=min(min(z));dz=(zmax-zmin)/10;level=(zmin+0.5*dz):dz:zmax;%[c,h]=contour(x,y,z);clabel(c,h)h=contour(x,y,z,level);clabel(h)%h=contour(x,y,z,level);clabel(h,'manual')title('contourplotbycontour(x,y,z,level)'),xlabel('x'),ylabel('y')clabel(h):自動注釋clabel(h,'manual'):用鼠標(biāo)選擇添加數(shù)字的位置.基于MATLAB的數(shù)值分析(2)Contour命令可以用來繪制隱函數(shù)的圖形clear,clfxm=-3:.2:3;ym=-2:.2:1;[x,y]=meshgrid(xm,ym);f=y.^3+exp(y)-tanh(x);contour(x,y,f,[0,0])xlabel('x'),ylabel('y')基于MATLAB的數(shù)值分析(2)繪制空間曲線(指令)plot3(x,y,z):繪制三維空間曲線,用法和plot類似。quiver(X,Y,u,v):繪制二維矢量,在坐標(biāo)矩陣點(diǎn)[X,Y]處繪制矢量[u,v],其中u為矢量的x坐標(biāo),v為矢量的y坐標(biāo),其維數(shù)不小于2。quiver3(X,Y,Z,u,v,w):繪制三維矢量,用法與quiver類似。Gradient:

[Fx,Fy,Fz]=gradient(F)為函數(shù)F數(shù)值梯度基于MATLAB的數(shù)值分析(2)

【例】三維曲線繪圖(要點(diǎn):參量選??;線型、點(diǎn)型、圖例)t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-',x,y,z,'bd'),view([-82,58]),boxon,legend('鏈','寶石')

基于MATLAB的數(shù)值分析(2)空間曲線和運(yùn)動方向的表現(xiàn)一條空間曲線可以用矢量函數(shù)表示為它的速度矢量表現(xiàn)為曲線的切矢量:基于MATLAB的數(shù)值分析(2)(程序講解exp2_2)exp2_2.mclf,t=linspace(0,1.5,20);x=t.^2;y=(2/3)*t.^3;z=(6/4)*t.^4-(1/3)*t.^3;plot3(x,y,z,'r.-','linewidth',1,'markersize',10),holdonVx=gradient(x);Vy=gradient(y);Vz=gradient(z);h=quiver3(x,y,z,Vx,Vy,Vz),set(h,'linewidth',1),gridonaxis([01.501.5040])xlabel('x'),ylabel('y'),zlabel('z'),boxon運(yùn)行程序基于MATLAB的數(shù)值分析(2)很顯然飛行曲線方程為:

基于MATLAB的數(shù)值分析(2)應(yīng)用、思考和練習(xí)

繪制微分方程dy/dx=xy,y(0)=0.4的斜率場,并將解曲線畫在圖中,觀察斜率場和解曲線的關(guān)系。

基于MATLAB的數(shù)值分析(2)

2.4圖形窗功能簡介基于MATLAB的數(shù)值分析(2)

2.5函數(shù)繪圖的簡捷指令一元函數(shù)簡捷繪圖指令【例】繪制和它的積分在間的圖形。symsttao;y=2/3*exp(-t/2)*cos(sqrt(3)/2*t);s=subs(int(y,t,0,tao),tao,t); subplot(1,2,1),ezplot(y,[0,4*pi]);gridsubplot(1,2,2),ezplot(s,[0,4*pi]);gridtitle('s=\inty(t)dt')

基于MATLAB的數(shù)值分析(2)基于MATLAB的數(shù)值分析(2)

【例】在園域上畫的圖形。ezsurf('x*y','circ');shadingflat;view([-18,28])

二元函數(shù)簡捷繪圖指令

ezsurf(F,dom-f,ngrid)ezsurf(F,dom-f,’circ’)ezsurf(x,y,z,dom-st,ngrid)ezsurf(x,y,z,dom-st,’circ’)基于MATLAB的數(shù)值分析(2)

【例】使用球坐標(biāo)參量畫部分球殼。x='cos(s)*cos(t)';y='cos

溫馨提示

  • 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

提交評論