第5章--MATLAB繪圖99227-課件_第1頁
第5章--MATLAB繪圖99227-課件_第2頁
第5章--MATLAB繪圖99227-課件_第3頁
第5章--MATLAB繪圖99227-課件_第4頁
第5章--MATLAB繪圖99227-課件_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第5章 MATLAB繪圖5.1 二維圖形5.2 三維圖形5.3 三維圖形的精細(xì)處理5.4 隱函數(shù)繪圖5.5 低層繪圖操作5.6 光照和材質(zhì)處理5.7 圖像顯示與動(dòng)畫制作Matlab 繪圖如何畫出 ysin(x) 在 0, 2*pi 上的圖像?Matlab 繪圖 手工作圖 找點(diǎn): x=0, pi/4, pi/2, 2*pi/3, pi, 計(jì)算函數(shù)值: y=sin(0), sin(pi/4), sin(pi/2), 描點(diǎn):在坐標(biāo)系中畫出這些離散點(diǎn) 用直線或曲線連接這些點(diǎn),得到函數(shù)的大致圖形Matlab 繪圖 Matlab 作圖 給出離散點(diǎn)列: x=0:pi/10:2*pi 計(jì)算函數(shù)值: y=sin

2、(x) 畫圖:用 matlab 二維繪圖命令 plot 作出函數(shù)圖形 plot(x,y) 例: x=0:pi/10:2*pi; y=sin(x); plot(x,y);二維圖形繪制二維曲線的基本函數(shù)1. plot函數(shù)的基本用法plot函數(shù)的基本調(diào)用格式為:plot(x,y) 其中x和y為長度相同的向量,分別用于存儲x坐標(biāo)和y坐標(biāo)數(shù)據(jù)。 例5.1 在0X2區(qū)間內(nèi),繪制曲線y=2e-0.5xsin(2x)。 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y) 例5.2 繪制參數(shù)方程曲線。程序如下:t=-pi:pi/100:p

3、i;x=t.*cos(3*t);y=t.*sin(t).*sin(t);plot(x,y); 說明:(1)當(dāng)x,y是同維矩陣時(shí),則以x,y對應(yīng)列元素為橫、縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。t=linspace(0,2*pi,100);x=t;t;y=sin(t);cos(t);plot(x,y) 說明:(2)當(dāng)x是向量,y是有一維與x同維的矩陣時(shí),則繪制出多根不同色彩的曲線。曲線條數(shù)等于y矩陣的另一維數(shù),x被作為這些曲線共同的橫坐標(biāo)。 t=linspace(0,2*pi,100); y=sin(t);cos(t); plot(x,y) 說明:(3)plot函數(shù)最簡單的調(diào)用格式是只包含

4、一個(gè)輸入?yún)?shù):plot(x)。當(dāng)x是實(shí)向量時(shí),則以該向量元素的下標(biāo)為橫坐標(biāo),元素值為縱坐標(biāo)畫出一條曲線;當(dāng)x是實(shí)矩陣時(shí),則按列繪制每列元素值相對其下標(biāo)的曲線,曲線條數(shù)等于x陣的列數(shù)。 t=linspace(0,2*pi,100); plot(t) a=1 1 1; 4 8 16; 9 27 81; plot(a) 2含多個(gè)輸入?yún)?shù)的plot函數(shù)含多個(gè)輸入?yún)?shù)的plot函數(shù)調(diào)用格式為: plot(x1,y1,x2,y2,xn,yn) t=linspace(0,2*pi,100); plot(t, sin(t),t,2*sin(t),t,3*sin(t)%每一對繪制一條曲線 x=linspace(

5、0,2*pi,100 );%按對應(yīng)列元素為橫縱坐標(biāo)繪制 y1=sin(x);y2=2*sin(x);y3=3*sin(x);x=x;x;x; y=y1;y2;y3;plot(x,y,x,cos(x) 3含選項(xiàng)的plot函數(shù)含選項(xiàng)的plot函數(shù)調(diào)用格式為:plot(x1,y1,選項(xiàng)1,x2,y2, 選項(xiàng)2,xn,yn,選項(xiàng)n)紅色、虛線、離散點(diǎn)用加號藍(lán)色、點(diǎn)劃線離散點(diǎn)為菱形 x=0:0.2:2*pi; plot(x,cos(x); plot(x,cos(x),r+:); plot(x,cos(x),bd-.); plot(x,cos(x),k*-);黑色、實(shí)線離散點(diǎn)用星號屬性可以全部指定,也可以

6、只指定其中某幾個(gè)排列順序任意圖形的基本屬性線型點(diǎn)標(biāo)記顏色- 實(shí)線: 虛線-. 點(diǎn)劃線- 間斷線. 點(diǎn)o 小圓圈x 叉子符+ 加號* 星號s 方格d 菱形 朝上三角v 朝下三角 朝右三角 legend(cos(x);例:圖形的其他屬性 在指定地方添加文本text(x,y,string1,string2, .) text(pi/2,cos(pi/2),leftarrowy=cos(x);xlable, ylabel, text 命令也可以指定文本的屬性直觀方法:可以直接在圖象上進(jìn)行編輯 2. 坐標(biāo)控制函數(shù)的調(diào)用格式為:axis(xmin xmax ymin ymax zmin zmax)axis函

7、數(shù)功能豐富,常用的用法還有:axis equal 縱、橫坐標(biāo)軸采用等長刻度axis square 產(chǎn)生正方形坐標(biāo)系(缺省為矩形)axis auto 使用缺省設(shè)置axis off 取消坐標(biāo)軸axis on 顯示坐標(biāo)軸grid on/off命令控制是畫還是不畫網(wǎng)格線,不帶參數(shù)的grid命令在兩種狀態(tài)之間進(jìn)行切換。box on/off命令控制是加還是不加邊框線,不帶參數(shù)的box命令在兩種狀態(tài)之間進(jìn)行切換。 例5.5 繪制分段函數(shù)曲線并添加圖形標(biāo)注。程序如下:x=linspace(0,10,100);y=;for x0=x if x0=8 y=y,1; elseif x0=6 y=y,5-x0/2;

8、elseif x0=4 y=y,2; elseif x0=0 y=y,sqrt(x0); endendplot(x,y)axis(0 10 0 2.5) %設(shè)置坐標(biāo)軸title(分段函數(shù)曲線); %加圖形標(biāo)題xlabel(Variable X); %加X軸說明ylabel(Variable Y); %加Y軸說明text(2,1.3,y=x1/2); %在指定位置添加圖形說明text(4.5,1.9,y=2);text(7.3,1.5,y=5-x/2);text(8.5,0.9,y=1); 3. 圖形保持 一般情況下,繪圖命令每執(zhí)行一次就刷新當(dāng)前圖形窗口,圖形窗口原有圖形將不復(fù)存在。若希望在已存

9、在的圖形上再繼續(xù)添加新的圖形,可使用圖形保持命令hold。hold on/off命令控制是保持原有圖形還是刷新原有圖形,不帶參數(shù)的hold命令在兩種狀態(tài)之間進(jìn)行切換。 例5.6 用圖形保持功能在同一坐標(biāo)內(nèi)繪制曲線y=2e-0.5xsin(2x)及其包絡(luò)線。 程序如下:x=(0:pi/100:2*pi);y1=2*exp(-0.5*x)*1,-1;y2=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y1,b:);axis(0,2*pi,-2,2); %設(shè)置坐標(biāo)hold on; %設(shè)置圖形保持狀態(tài)plot(x,y2,k);legend(包絡(luò)線,包絡(luò)線,曲線y); %加圖例ho

10、ld off; %關(guān)閉圖形保持grid %網(wǎng)格線控制 4. 圖形窗口的分割 subplot函數(shù)的調(diào)用格式為: subplot(m,n,p) 例5.7 在一個(gè)圖形窗口中以子圖形式同時(shí)繪制正弦、余弦、正切、余切曲線。 程序如下: x=linspace(0,2*pi,60); y=sin(x);z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); plot(x,y);title(sin(x);axis (0,2*pi,-1,1); subplot(2,2,2); plot(x,z);title(cos(x

11、);axis (0,2*pi,1,1); subplot(2,2,3); plot(x,t);title(tangent(x);axis (0,2*pi,-40,40); subplot(2,2,4); plot(x,ct);title(cotangent(x);axis (0,2*pi,-40,40); 對圖形窗口靈活分割。請看下面的程序。 x=linspace(0,2*pi,60); y=sin(x);z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); %選擇22個(gè)區(qū)中的1號區(qū) stairs(

12、x,y);title(sin(x)-1);axis (0,2*pi,-1,1); subplot(2,1,2); %選擇21個(gè)區(qū)中的2號區(qū) stem(x,y);title(sin(x)-2);axis (0,2*pi,-1,1); subplot(4,4,3); %選擇44個(gè)區(qū)中的3號區(qū) plot(x,y);title(sin(x);axis (0,2*pi,-1,1); subplot(4,4,4); %選擇44個(gè)區(qū)中的4號區(qū) plot(x,z);title(cos(x);axis (0,2*pi,-1,1); subplot(4,4,7); %選擇44個(gè)區(qū)中的7號區(qū) plot(x,t);t

13、itle(tangent(x);axis (0,2*pi,-40,40); subplot(4,4,8); %選擇44個(gè)區(qū)中的8號區(qū) plot(x,ct);title(cotangent(x);axis (0,2*pi,-40,40);圖形的其他屬性 x=-pi:pi/10:pi; y=sin(x); plot(x,y,rh:,linewidth,2)例: 線條的粗細(xì),字體大小,坐標(biāo)軸屬性等。linewidth:指定線條的粗細(xì)注:1) 屬性與屬性的值是成對出現(xiàn)的 2) 更多屬性參見 plot 的聯(lián)機(jī)幫助 title(y=sin(x),fontsize,18)fontsize:指定字體的大小 5

14、.1.3 繪制二維圖形的其他函數(shù)1. 其他形式的線性直角坐標(biāo)圖 在線性直角坐標(biāo)系中,其他形式的圖形有條形圖、階梯圖、桿圖和填充圖等,所采用的函數(shù)分別是:bar(x,y,選項(xiàng))stairs(x,y,選項(xiàng))stem(x,y,選項(xiàng))fill(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,) 例5.8 分別以條形圖、填充圖、階梯圖和桿圖形式繪制曲線y=2e-0.5x。 程序如下: x=0:0.35:7; y=2*exp(-0.5*x); subplot(2,2,1);bar(x,y,g); title(bar(x,y,g);axis(0,7,0,2); subplot(2,2,2);fill(x,y,r);

15、 title(fill(x,y,r);axis(0,7,0,2); subplot(2,2,3);stairs(x,y,b); title(stairs(x,y,b);axis(0,7,0,2); subplot(2,2,4);stem(x,y,k); title(stem(x,y,k);axis(0,7,0,2); 2極坐標(biāo)圖polar函數(shù)用來繪制極坐標(biāo)圖,其調(diào)用格式為:polar(theta,rho,選項(xiàng))其中theta為極坐標(biāo)極角,rho為極坐標(biāo)矢徑,選項(xiàng)的內(nèi)容與plot函數(shù)相似。例5.9 繪制=sin(2)cos(2)的極坐標(biāo)圖。 程序如下: theta=0:0.01:2*pi; rh

16、o=sin(2*theta).*cos(2*theta); polar(theta,rho,k); 3對數(shù)坐標(biāo)圖形 MATLAB提供了繪制對數(shù)和半對數(shù)坐標(biāo)曲線的函數(shù),調(diào)用格式為: semilogx(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,) semilogy(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,) loglog(x1,y1,選項(xiàng)1,x2,y2,選項(xiàng)2,) 例5.10 繪制y=10 x2的對數(shù)坐標(biāo)圖并與直角線性坐標(biāo)圖進(jìn)行比較。 程序如下: x=0:0.1:10; y=10*x.*x; subplot(2,2,1);plot(x,y);title(plot(x,y);grid on; subp

17、lot(2,2,2);semilogx(x,y);title(semilogx(x,y); grid on; subplot(2,2,3);semilogy(x,y);title(semilogy(x,y); grid on; subplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on; 4. 對函數(shù)自適應(yīng)采樣的繪圖函數(shù)fplot函數(shù)的調(diào)用格式為: fplot(fname,lims,tol,選項(xiàng))例5.11 用fplot函數(shù)繪制f(x)=cos(tan(x)的曲線。 先建立函數(shù)文件myf.m: function y=myf(x) y=cos(tan

18、(pi*x); 再用fplot函數(shù)繪制myf.m函數(shù)的曲線: fplot(myf,-0.4,1.4,1e-4) 5. 其他形式的圖形MATLAB提供的繪圖函數(shù)還有很多,例如,用來表示各元素占總和的百分比的餅圖、復(fù)數(shù)的相量圖等等。例5.12 繪制圖形:(1)某次考試優(yōu)秀、良好、中等、及格、不及格的人數(shù)分別為:7,17,23,19,5,試用餅圖作成績統(tǒng)計(jì)分析。(2)繪制復(fù)數(shù)的相量圖:3+2i、4.5-i和-1.5+5i。程序如下:subplot(1,2,1);pie(7,17,23,19,5);title(餅圖);legend(優(yōu)秀,良好,中等,及格,不及格);subplot(1,2,2);com

19、pass(3+2i,4.5-i,-1.5+5i);title(相量圖);空間三維作圖 三維曲線 : plot3設(shè)三維曲線的參數(shù)方程為:x=x(t),y=y(t),z=z(t),則其圖形可由下面的命令繪出:plot3 的用法與 plot 類似 t=0:0.1:10*pi; x=2*t; y=sin(t); z=cos(t); plot3(x,y,z);plot3(x,y,z,s)三維曲線只能用參數(shù)方程繪制例:三維螺旋線空間三維作圖 空間曲面 空間三維作圖 空間曲面 mesh(Z) :繪出矩陣 Z 的三維消隱圖。 mesh(x,y,Z) x, y 是向量,length(x)=n,length(y)

20、=m,m,n=size(Z) mesh(X,Y,Z) 繪制由矩陣 X,Y,Z 所確定的曲面網(wǎng)格圖 點(diǎn) 線二維作圖舉例 x=0:0.5:2*pi; y=sin(x); plot(x,y,r.-)先畫點(diǎn),后連線例:y = sin(x), 0 x x=0:0.1:2*pi; y=sin(x); plot(x,y,.)加密:取更多的點(diǎn) x=0:0.1:2*pi; y=sin(x); plot(x,y,.-) x=0:0.1:2*pi; y=sin(x); plot(x,y) 例:三維螺線 Matlab 空間曲線繪圖舉例x=t, y=sin(t), z=cos(t), 0t t=0:0.5:20; x=

21、t; y=sin(t); z=cos(t); plot3(x,y,z,.-) t=0:0.5:20; x=t; y=sin(t); z=cos(t); plot3(x,y,z,.)空間曲線作圖舉例 t=0:0.1:20; x=t; y=sin(t); z=cos(t); plot3(x,y,z) t=0:0.1:20; x=t; y=sin(t); z=cos(t); plot3(x,y,z,.-) 5.2 三維圖形例5.13 繪制空間曲線。 程序如下: t=0:pi/50:2*pi; x=8*cos(t); y=4*sqrt(2)*sin(t); z=-4*sqrt(2)*sin(t); p

22、lot3(x,y,z,p); title(Line in 3-D Space);text(0,0,0,origin); xlabel(X),ylabel(Y),zlabel(Z);grid; 5.2.2 三維曲面1平面網(wǎng)格坐標(biāo)矩陣的生成(1)利用矩陣運(yùn)算生成。x=a:dx:b; y=(c:dy:d);X=ones(size(y)*x;Y=y*ones(size(x);(2)利用meshgrid函數(shù)生成。x=a:dx:b; y=c:dy:d;X,Y=meshgrid(x,y); 例5.14 已知6x30,15y36,求不定方程2x+5y=126的整數(shù)解。程序如下:x=7:29; y=16:35;

23、x,y=meshgrid(x,y); %在5,2914,35區(qū)域生成網(wǎng)格坐標(biāo)z=2*x+5*y;k=find(z=126); %找出解的位置 x(k),y(k) %輸出對應(yīng)位置的x,y即方程的解 2. 繪制三維曲面的函數(shù) surf函數(shù)和mesh函數(shù)的調(diào)用格式為: mesh(x,y,z,c) surf(x,y,z,c) c省略時(shí),默認(rèn)c=z,即顏色的設(shè)定正比于圖形的高度線: 分別沿 x 方向和 y 方向 連接這些點(diǎn)即可得到空間曲面作圖先畫點(diǎn) (x,y,z),后連線,構(gòu)成曲面網(wǎng)格圖點(diǎn): 例:“墨西哥帽子”空間曲面作圖舉例( a x a, -a y x=-8:0.5:8; y=-8:0.5:8; X

24、,Y=meshgrid(x,y); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; mesh(X,Y,Z)1) x 與 y 可以取不同的步長2) 注意這里采用的數(shù)組運(yùn)算eps?X,Y=meshgrid(-8:0.5:8);例:繪制等高線 meshc空間曲面作圖舉例 X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; meshc(X,Y,Z)例:繪制邊界面屏蔽 meshz空間曲面作圖舉例 X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; meshz

25、(X,Y,Z)surf 作圖舉例 X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; surf(X,Y,Z)mesh 與 surf 的比較 例5.15 用三維曲面圖表現(xiàn)函數(shù)z=sin(y)cos(x)。 程序1: x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x); mesh(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(mesh); 程序2: x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*

26、cos(x); surf(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(surf); 程序3: x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x); plot3(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(plot3-1);grid; 例5.16 繪制兩個(gè)直徑相等的圓管的相交圖形。程序如下:%兩個(gè)等直徑圓管的交線m=30;z=1.2*(0:m)/m;r=ones(size(z);theta=(0:m)/m*2*pi

27、;x1=r*cos(theta);y1=r*sin(theta); %生成第一個(gè)圓管的坐標(biāo)矩陣z1=z*ones(1,m+1);x=(-m:2:m)/m;x2=x*ones(1,m+1);y2=r*cos(theta); %生成第二個(gè)圓管的坐標(biāo)矩陣z2=r*sin(theta);surf(x1,y1,z1); %繪制豎立的圓管axis equal,axis offhold onsurf(x2,y2,z2); %繪制平放的圓管axis equal,axis offtitle(兩個(gè)等直徑圓管的交線);hold off 例5.17 分析由函數(shù)z=x2-2y2構(gòu)成的曲面形狀及與平面z=a的交線。 程序

28、如下: x,y=meshgrid(-10:0.2:10); z1=(x.2-2*y.2)+eps; %第1個(gè)曲面 a=input(a=?); z2=a*ones(size(x); %第2個(gè)曲面 subplot(1,2,1);mesh(x,y,z1);hold on;mesh(x,y,z2); %分別畫出兩個(gè)曲面 v=-10,10,-10,10,-100,100;axis(v);grid; %第1子圖的坐標(biāo)設(shè)置 hold off; r0=abs(z1-z2)0.5);x(i)=NaN;plot(x,y); 例5.24 繪制兩個(gè)球面,其中一個(gè)球在另一個(gè)球里面將外面的球裁掉一部分,使得能看見里面的球。程序如下:x,y,z=sphere(20);%生成外面的大球z1=z;z1(:,1:4)=NaN; %將大球裁掉一部分c1=ones(size(z1);surf(3*x,3*y,3*z1,c1);%生成里面的小球hold onz2=z;c2=2*ones(size(z2);c2(:,1:4)=3*ones(size(c2(:,1:4);surf(1.5*x,1.5*y,1.5*z2,c2);colormap(0,1,0;

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論