基于MATLAB的數(shù)值分析.ppt
《基于MATLAB的數(shù)值分析.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于MATLAB的數(shù)值分析.ppt(51頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第二章 Matlab繪圖,2.1 離散數(shù)據(jù)和離散函數(shù)的繪圖,【例】用圖形表示離散函數(shù) 。 n=(0:12); y=1./abs(n-6); plot(n,y,r*, MarkerSize,20) grid on,點(diǎn)的大?。?MarkerSize,色彩符號(hào): 藍(lán) b 品紅 m 綠 g 黃 y 紅 r 黑 k 青 c 白 w,標(biāo)記類(lèi)型符號(hào): 點(diǎn) . 五角形 p 加號(hào) + 正方形 s 星號(hào) * 三角形 ^ 菱形 d x標(biāo)記 x 圓形 o,2.2 二維曲線繪圖的基本操作,【例】二維曲線繪圖基本指令演示。 t=(0:pi/50:2*pi); Y=cos(t); plot(t,Y) 再試驗(yàn)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)]時(shí)情形。,繪制多個(gè)圖形,1. plot(x,[y1;y2;…]), x是橫坐標(biāo)向量,[y1;y2;…]是由若干函數(shù)的縱坐標(biāo)拼成的矩陣 2. plot(x,y1), hold on, plot(x,y2), hold off 3. plot(x,y1,x,y2,…) 4.plotyy 兩個(gè)坐標(biāo)系,用于繪制不同尺度的函數(shù)。,,【例】二維曲線繪圖基本指令演示。 t=(0:pi/50:2*pi); k=0.4:0.1:1; Y=cos(t)*k; plot(t,Y) 再試驗(yàn)plot(t),plot(Y), plot(Y,t) ,以觀察產(chǎn)生圖形的不同。,,,,多次疊繪 hold :hold on, hold off 【例】利用hold繪制離散信號(hào)通過(guò)零階保持器后產(chǎn)生的波形。 t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t); stem(t,y,g);hold on;stairs(t,y,r); hold off,,,,雙縱坐標(biāo)圖 plotyy(x1,y1,x2, y2) 【例】畫(huà)出函數(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:求累計(jì)積分 text:標(biāo)識(shí)內(nèi)容的位置,線型、點(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è)置圖形對(duì)象的屬性。,屬性變量和屬性值,線寬:LineWidth 點(diǎn)的大?。?MarkerSize 線型:LineStyle 顏色:color,色彩符號(hào): 藍(lán) b 品紅 m 綠 g 黃 y 紅 r 黑 k 青 c 白 w,標(biāo)記類(lèi)型符號(hào): 點(diǎn) . 五角形 p 加號(hào) + 正方形 s 星號(hào) * 三角形 ^ 菱形 d x標(biāo)記 x 圓形 o,線類(lèi)型符號(hào): 實(shí)線 - 虛線 -- 點(diǎn)線 : 點(diǎn)劃線 -.,【例】用圖形表示離散函數(shù) 。 n=(0:12); y=1./abs(n-6); plot(n,y,r*,… MarkerSize,20) grid on,例 改變繪圖的線型和顏色。 程序 h=plot([0:0.1:2*pi],sin([0:0.1:2*pi])); set(h,LineWidth,5,color,red);,坐標(biāo)軸的控制,axis指令 axis([xmin xmax ymin ymax]): 設(shè)定二維圖形的x和y坐標(biāo)的范圍; axis([xmin xmax ymin ymax zmin ymax]): 設(shè)定三維圖形的坐標(biāo)范圍 ; 其中xminxxmax, yminyymax ,zminzzmax。 axis: axis on(使用軸背景),axis off(取消軸背景) axis equal, axis fill, axis image, axis normal, axis square, axis tight, axis vis3d,【例】用圖形表示連續(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]),,分格線和坐標(biāo)框 grid: grid on(畫(huà)出分格線), grid off (不畫(huà)出分格線) box : box on (坐標(biāo)呈封閉形式), box off (坐標(biāo)呈開(kāi)啟形式),【例】 n=(0:12); y=1./abs(n-6); Subplot(1,2,1),plot(n,y,r*,MarkerSize,20),box on Subplot(1,2,2), plot(n,y,r*,MarkerSize,20),box off,文字標(biāo)注,title(‘圖形標(biāo)題’); xlabel(‘x軸名稱(chēng)’);ylabel(‘y軸名稱(chēng)’);zlabel(‘z軸名稱(chēng)’); text(‘說(shuō)明文字’):創(chuàng)建說(shuō)明文字; gtext(‘說(shuō)明文字’):用鼠標(biāo)在特定位置輸入文字。 legend (‘說(shuō)明文字’):創(chuàng)建說(shuō)明文字; 文字標(biāo)注常用符號(hào): \pi (π);\alpha (α);\beta (β); \leftarrow (左箭頭) \rightarrow (右箭頭); \bullet (點(diǎn)號(hào)),,,,,例: 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)),【例】 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),,注:圖形中文本的顏色和字號(hào)可以改變,繪制平面曲線(程序講解,exp2_1.m),clf, t=0:0.1:3*pi;alpha=0:0.1:3*pi; plot(t,sin(t),r-);hold on; plot(alpha,3*exp(-0.5*alpha),k:); xlabel(\it{t(deg)}); ylabel(\it{magnitude}); title( \it{sine wave and {\it{Ae}}^{-\alpha{\itt}}wave});,【例】采用模型 畫(huà)一組橢圓。 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(A set of Ellipses),,圖形窗口的創(chuàng)建和分割,subplot(m,n,k)命令。 在圖形區(qū)域中顯示多個(gè)圖形窗口。 m為上下分割數(shù),n為左右分割數(shù),k為第k子圖編號(hào)。,【例】用圖形表示連續(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)),,若干有用的指令,clf:將圖形窗口的全部?jī)?nèi)容清除。 shg:顯示圖形窗口。 figure: 打開(kāi)一個(gè)新的圖形窗口。 figure(n): 打開(kāi)第n個(gè)圖形窗口 cla: 將所繪曲線清除并重畫(huà)坐標(biāo)軸。 close(n):將關(guān)閉編號(hào)為n的圖形窗口, close all: 將關(guān)閉所有圖形窗口.,【例】觀察各種軸控制指令的影響。演示采用長(zhǎng)軸為3.25,短軸為1.15的橢圓。注意:采用多子圖表現(xiàn)時(shí),圖形形狀不僅受“控制指令”影響,而且受整個(gè)圖面“寬高比”及“子圖數(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),axis normal,grid on, title(Normal and Grid on) subplot(2,3,2),plot(x,y),axisequal,grid on,title(Equal) subplot(2,3,3),plot(x,y),axissquare,grid on,title(Square) subplot(2,3,4),plot(x,y),axisimage,box off,title(Image and Box off),,subplot(2,3,5),plot(x,y),axis image fill,box off title(Image and Fill) subplot(2,3,6),plot(x,y),axistight,box off,title(Tight),極坐標(biāo)繪圖:polar(x,y),對(duì)數(shù)繪圖:loglog(x,y) 半對(duì)數(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(polar plot) Grid on,【例】 clf;t=0.1:.1:3; y=exp(t.*t); semilogy(t,y) grid xlabel(t); ylabel(exp(t.*t) );,若干特殊圖形,x=[1:10]; y=[5 6 3 4 8 1 10 3 5 6]; subplot(2,3,1),bar(x,y),axis([1 10 1 11]) subplot(2,3,2),hist(y,x),axis([1 10 1 4]) subplot(2,3,3),stem(x,y,k),axis([1 10 1 11]) subplot(2,3,4),stairs(x,y,k), axis([1 10 1 11]) subplot(2,3,5), x = [1 3 0.5 5];explode = [0 0 0 1];pie(x,explode) subplot(2,3,6),z=0:0.1:100; x=sin(z);y=cos(z).*10; comet3(x,y,z),交互式圖形指令 [x,y]=ginput(n): 用鼠標(biāo)從二維圖形上獲取n個(gè)點(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,-1 Legend off:擦出當(dāng)前圖上的圖例。,2.3 三維繪圖的基本操作,繪制二元函數(shù)基本步驟: 1.生成二維網(wǎng)格點(diǎn) 2. 計(jì)算函數(shù)在網(wǎng)格點(diǎn)上的值 3. 繪制函數(shù)圖形,,xm=[0 1 2];ym=[1 2 3]; [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,+),三維繪圖指令,mesh(X,Y,z) : 在三維空間中繪出由(X,Y,z)表示的曲面; meshz(X,Y,z): 除了具有mesh的功能外,還畫(huà)出上下高度線, meshc(X,Y,z): 除了具有mesh的功能外,還在曲面的下方畫(huà)出函數(shù)z=f(x,y)的等值線圖, surf(X,Y,z): 也是三維繪圖指令,與mesh的區(qū)別在于mesh繪出彩色的線,surf繪出彩色的面,,,,【例】用曲面圖表現(xiàn)函數(shù) clf,x=-4:4;y=x;[X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z);hold on,colormap(hot), hold on, stem3(X,Y,Z,bo),,注:meshgrid通過(guò)一維數(shù)組生成二維陣列,,,【例】用色圖陣表現(xiàn)函數(shù)的不同特征。演示:當(dāng)三維網(wǎng)線圖、曲面圖的第四個(gè)輸入宗量取一些特殊矩陣時(shí),色彩就能表現(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)) shading faceted;brighten(0.6);colorbar(horiz) title(No. 1 surf(X,Y,Z,abs(dzdr))) subplot(1,2,2),surf(X,Y,Z,abs(dz2)) shading faceted;colorbar(horiz) title(No. 2 surf(X,Y,Z,abs(dz2))),,,,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,…,等值線指令,表現(xiàn)二維函數(shù)的圖形的另一種方式是繪制等值線圖。 contour(X,Y,z,level): level是表示等高線高度的數(shù)組 contour(X,Y,z,n): n條等高線,n可缺??; contourf(X,Y,z,n): 等值線間用不同的顏色填滿(mǎn),有更好的視覺(jué)效果; contour3(X,Y,z,n): 在三維空間畫(huà)出等值線圖 colorbar: 將顏色與函數(shù)值對(duì)應(yīng)起來(lái)顯示在圖中。,,繪等值線圖,clear,clc,clf,axis square xm=-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(contour plot by contour(x,y,z,level)), xlabel(x),ylabel(y),,clabel(h):自動(dòng)注釋 clabel(h,manual) :用鼠標(biāo)選擇添加數(shù)字的位置.,Contour命令可以用來(lái)繪制隱函數(shù)的圖形,clear,clf xm=-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),繪制空間曲線(指令),,plot3(x,y,z): 繪制三維空間曲線,用法和plot類(lèi)似。 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類(lèi)似。 Gradient: [Fx,Fy,Fz]=gradient(F)為函數(shù)F數(shù)值梯度,,,,【例】三維曲線繪圖(要點(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]),box on,legend(鏈,寶石),,空間曲線和運(yùn)動(dòng)方向的表現(xiàn),一條空間曲線可以用矢量函數(shù)表示為,它的速度矢量表現(xiàn)為曲線的切矢量:,(程序講解exp2_2),exp2_2.m clf,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),hold on Vx=gradient(x);Vy=gradient(y);Vz=gradient(z); h=quiver3(x,y,z,Vx,Vy,Vz),set(h,linewidth,1),grid on axis([0 1.5 0 1.5 0 40]) xlabel(x),ylabel(y),zlabel(z),box on 運(yùn)行程序,很顯然飛行曲線方程為:,,應(yīng)用、思考和練習(xí),繪制微分方程 dy/dx=xy, y(0)=0.4的斜率場(chǎng), 并將解曲線畫(huà)在圖中,觀察斜率場(chǎng)和解曲線的關(guān)系。,,,2.4 圖形窗功能簡(jiǎn)介,,,,2.5 函數(shù)繪圖的簡(jiǎn)捷指令,一元函數(shù)簡(jiǎn)捷繪圖指令 【例】繪制 和它的積分 在 間的圖形。 syms t tao; 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]);grid subplot(1,2,2),ezplot(s,[0,4*pi]);grid title(s = \inty(t)dt),,,,,【例】在園域上畫(huà) 的圖形。 ezsurf(x*y,circ);shading flat; view([-18,28]),,二元函數(shù)簡(jiǎn)捷繪圖指令 ezsurf(F,dom-f,ngrid) ezsurf(F,dom-f,’circ’) ezsurf(x,y,z,dom-st,ngrid) ezsurf(x,y,z,dom-st,’circ’),,,【例】使用球坐標(biāo)參量畫(huà)部分球殼。 x=cos(s)*cos(t);y=cos(s)*sin(t);z=sin(s); ezsurf(x,y,z,[0,pi/2,0,3*pi/2]) view(17,40);shading interp;colormap(spring) light(position,[0,0,-10],style,local) light(position,[-1,-0.5,2],style,local) material([0.5,0.5,0.5,10,0.3]),,,,簡(jiǎn)捷繪圖指令匯總 ezcontour 畫(huà)等位線, ezcontour(cos(x+sin(y))-sin(y)) ezcontourf 畫(huà)填色等位線 ezmesh 畫(huà)網(wǎng)線圖, ezmesh (exp(-s)*cos(t), exp(-s)*sin(t) ,t,[0,8,0,4*pi]) ezmeshc 畫(huà)帶等位線的網(wǎng)線圖, ezmeshc(y/(1+x^2+y^2),[-5,5,-2*pi,2*pi]) ezplot 畫(huà)二維曲線, ezplot(1/y-log(y)+log(-1+y)+x-1) ezplot3 畫(huà)三維曲線 ezplot3(sin(3*t)*cos(t), sin(3*t)*sin(t),t,animate) ezpolar 畫(huà)極坐標(biāo)曲線, ezpolar(sin(tan(t))) ezsurf 畫(huà)曲面圖 ezsurfc 畫(huà)帶等位線的曲面圖, ezsurfc(sin(x)*sin(y)),,,2.6 影片動(dòng)畫(huà),clf;shg,x=3*pi*(-1:0.05:1); y=x;[X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; h=surf(X,Y,Z);colormap(jet);axis off n=12;mmm=moviein(n); for i=1:n rotate(h,[0 0 1],25); mmm(:,i)=getframe; end movie(mmm,5,10),【例】三維圖形的影片動(dòng)畫(huà)。,2.7 打印和記錄圖形,print:打印當(dāng)前窗口下的圖形; print -djpeg filename:保存為jpg文件; 保存為MATLAB文件;,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 MATLAB 數(shù)值 分析
鏈接地址:http://www.820124.com/p-2840201.html