MATLAB_程序設(shè)計與應(yīng)用第二版_劉衛(wèi)國---Matlab繪圖_第1頁
MATLAB_程序設(shè)計與應(yīng)用第二版_劉衛(wèi)國---Matlab繪圖_第2頁
MATLAB_程序設(shè)計與應(yīng)用第二版_劉衛(wèi)國---Matlab繪圖_第3頁
MATLAB_程序設(shè)計與應(yīng)用第二版_劉衛(wèi)國---Matlab繪圖_第4頁
MATLAB_程序設(shè)計與應(yīng)用第二版_劉衛(wèi)國---Matlab繪圖_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Matlab繪圖 強大的繪圖功能是Matlab的特點之一,Matlab提供了一系列的繪圖函數(shù),用戶不需要過多的考慮繪圖細(xì)節(jié),只需給出一些基本參數(shù)即可得到所需圖形。這些函數(shù)稱為高層繪圖函數(shù)。除此之外,Matlab還提供了一些直接對圖形句柄進行操作的低層繪圖操作。低層操作將圖形的每一個圖形元素(如坐標(biāo)軸、曲線、曲面等)看成一個獨立的對象,系統(tǒng)對每一個圖形對象分配一個句柄,以后可通過該句柄對圖形元素進行操作。而不影響圖形的其他部分。 高層繪圖操作簡單明了、方便高效、是用戶最常用的繪圖方法,而低層繪圖操作控制和表現(xiàn)圖形的能力更強,為用戶更加自主地繪制圖形創(chuàng)造條件。 事實上,高層繪圖函數(shù)都是利用低層函數(shù)

2、而建立起來的。 本章重點介紹二維和三維圖形的高層繪圖函數(shù)。 一、二維圖形 在Matlab中,最基本的且應(yīng)用最廣泛的繪圖函數(shù)是:plot格式:plot(x,y) %x,y為縱橫坐標(biāo)值,且長度相同的向量例在0 x2區(qū)間內(nèi),繪制圖形y=2e-0.5xsin(2 x) 程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)例:繪制曲線程序如下:t=-pi:pi/100:pi;x=t.*cos(3*t);y=t.*sin(t).*sin(t);plot(x,y)執(zhí)行該程序可得到相應(yīng)的圖形。x=tcos(3t) - t t y=tsin2t例

3、:程序如下:x=linspace(0,2*pi,100); y=sin(x);cos(x);plot(x,y)以上提到plot函數(shù)的自變量x,y為長度相同的向量,實際應(yīng)用還有一些變化,下面分別說明:當(dāng)x是向量,y是有一維與x同維的矩陣,則可繪制出多條不同顏色的曲線。曲線條數(shù)等于y矩陣的另一維數(shù),x被作為這些曲線共同的橫坐標(biāo)。 當(dāng)x、y是同維矩陣時,則以x、y對應(yīng)列元素為橫縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。 Eg 在同一坐標(biāo)中同時繪制出正弦和余弦曲線 t=linspcace(0,2*pi,100); x=t;t; y=sin(t);cos(t); plot(x,y);Plot函數(shù)最簡單

4、的調(diào)用格式是只包含一個輸入?yún)?shù):plot(x)。在這種情況下,當(dāng)x是實向量時,則以該向量元素的下標(biāo)為橫坐標(biāo),元素值為縱坐標(biāo)畫出一條曲線。當(dāng)是復(fù)數(shù)向量時,則分別以該向量元素實部和虛部為橫、縱坐標(biāo)繪制出一條曲線。t=0:0.01:2*pi;x=exp(i*t);plot(x)t=0:0.01:2*pi;x=exp(i*t);y=x;2*x;3*x;plot(y)程序如下:2、含多個輸入?yún)?shù)的plot函數(shù)格式:plot(x1,y1,x2,y2,xn,yn)plot函數(shù)可以包含若干組向量對,每一向量對可以繪制出一條曲線。當(dāng)輸入?yún)?shù)都為向量時,x1和y1,x2和y2,xn和yn分別組成一組向量對,每一組

5、向量對的長度可以不同。 x=linspace(0,2*pi,100); plot(x,sin(x),x,2*sin(x),x,3*sin(x)當(dāng)輸入?yún)?shù)有矩陣形式時,配對的當(dāng)輸入?yún)?shù)有矩陣形式時,配對的x,yx,y按對應(yīng)列元素為橫、縱坐標(biāo)分別繪按對應(yīng)列元素為橫、縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。制曲線,曲線條數(shù)等于矩陣的列數(shù)。 x=linspace(0,2*pi,100); y1=sin(x); y2=2*sin(x); y3=3*sin(x); x1=x;x;x; y=y1;y2;y3; plot(x1,y,x,cos(x)格式:plot(x1,y1,選項1,xn,yn,選項n)3

6、、含選項的、含選項的plot函數(shù)函數(shù) 線 型 顏 色 - 實線 b 藍(lán)色 : 虛線 g 綠色 -. 點劃線 r 紅色 - 雙劃線 c 青色 m 品紅色 y 黃色 k 黑色 w 白色 標(biāo)記符號 . 點 d 菱形符 + 加號 * 星號 s 方塊符 X 叉號例:用不同線型和顏色在同一坐標(biāo)內(nèi)繪制曲線 y=2e-0.5xsin(2 x) 及其包絡(luò)線。程序如下:x=(0:pi/100:2*pi);y1=2*exp(-0.5*x)*1,-1; %包絡(luò)線y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot

7、(x,y1,k:,x,y2,b-,x1,y3,rp)雙縱坐標(biāo)函數(shù)plotyy 在Matlab中,如果需要繪制具有不同坐標(biāo)的兩個圖形,可以用plotyy函數(shù)。這種圖形能把函數(shù)值具有不同量綱、不同數(shù)量級的兩個函數(shù)繪制在同一個坐標(biāo)中,有利于圖形數(shù)據(jù)的對比和分析。格式:plotyy(x1,y1,x2,y2)對應(yīng)一條曲線例:用不同標(biāo)度在同一坐標(biāo)內(nèi)繪制曲線x1=0:pi/100:2*pi;x2=0:pi/100:3*pi;y1=exp(-0.5*x1).*sin(2*pi*x1);y2=1.5*exp(-0.1*x2).*sin(x2);plotyy(x1,y1,x2,y2)程序如下:y1=e-0.5xs

8、in(2 x)及其曲線 y2=1.5e-0.1xsin(x)二、繪制圖形的輔助操作 圖形繪制好后,需要進行一些輔助操作,一是圖形意義更加明確,可讀性更強。1、圖形標(biāo)注有關(guān)圖形標(biāo)注的調(diào)用格式:title(圖形名稱)xlabel(x軸說明)ylabel(y軸說明)text(x,y,圖形說明)gtext(圖形說明)legend(圖例1,圖例2,)說明:l前三個函數(shù)分別說明圖形和坐標(biāo)軸的名稱ltext和gtext是在坐標(biāo)處添加圖形說明。llegend函數(shù)用于繪制所用線型、顏色或數(shù)據(jù)點標(biāo)記圖例,圖放置在圖形的空白處,用戶還可通過鼠標(biāo)移動圖例說明放置在希望處。l除legend函數(shù)外,其他均可用于三維圖形,

9、z坐標(biāo)軸說明用zlabel。2、坐標(biāo)控制 Matalb的繪圖中,可以自動根據(jù)數(shù)據(jù)范圍選擇合適的坐標(biāo)刻度,若用戶重新定義坐標(biāo)范圍可用函數(shù)axis 格式:axis(xmin xmax ynim ymax zmin zmax) 若繪制二維圖形則給出前4個參數(shù)即可,除此之外,aixs函數(shù)的常用功能還有:axis equal:縱橫坐標(biāo)軸采用等長刻度axis square:產(chǎn)生方形坐標(biāo)系(默認(rèn)為矩形)axis auto:使用默認(rèn)設(shè)置axis off:取消坐標(biāo)軸axis on:顯示坐標(biāo)軸grid on/off:控制是畫還是不畫網(wǎng)格線,不帶參數(shù)的gridgrid函數(shù)命令在兩種狀態(tài)之間切換box on/off:

10、控制是加邊框還是不加邊框,不帶參數(shù)的boxbox函數(shù)命令在兩種狀態(tài)之間切換例 繪制分段函數(shù)曲線并添加圖形標(biāo)注x=linspace(0,10,100);y=;for x0=x if x0=8 y=y,1; %y=1 elseif x0=6 y=y,5-x0/2; %y=5-x/2 elseif x0=4 y=y,2; %y=2 elseif x0=0 y=y,sqrt(x0); %y=sqrt(x) endendplot(x,y)axis(0 10 0 2.5)title(分段函數(shù)曲線分段函數(shù)曲線);xlabel(Variable x);ylabel(Variable y);text(2,1.3

11、,y=x(1/2);text(4.5,1.9,y=2);text(7.3,1.5,y=5-x/2);text(8.5,0.9,y=1);程序如下:方法二:方法二: 方法四:方法四:x=linspace(0,10,100); x=linspace(0,10,100); y=; y=(x=0 & x=4 & x=6 & x=8 (x=8)*1; y(i)=1; elseif x(i)=6 y(i)=5-x0/2; elseif x(i)= 4 y(i)=2; elseif x(i)=0 y(i)=sqrt(x(i); endend方法三:方法三:x=linspace(0,1

12、0,100);y=zeros(size(x);K1=find(x=8);y(k1)=x(k1).2;K2=find(x=6&x=4&x6);y(k3)=2;3、圖形保持 一般情況下,每執(zhí)行一次繪圖命令,就刷新一次圖形窗口,圖形窗口原有的圖形將不復(fù)存在。若希望在已存在圖形的窗口上添加新的圖形,Matlab提供了函數(shù)hold,hold on/off命令控制是保持原有圖形還是刷新原有圖形,不帶參數(shù)的hold命令在兩種狀態(tài)下切換。例:用圖形保持功能在同一坐標(biāo)內(nèi)繪制下面函數(shù)曲線及包絡(luò)線程序如下:x=(0:pi/100:2*pi);y1=2*exp(-0.5*x)*1,-1;y2=2*ex

13、p(-0.5*x).*sin(2*pi*x);plot(x,y1,b:);axis(0, 2*pi ,-2 ,2) %設(shè)置坐標(biāo)設(shè)置坐標(biāo)hold on; %設(shè)置圖形保持裝態(tài)設(shè)置圖形保持裝態(tài)plot(x,y2,k);legend(包絡(luò)線包絡(luò)線,包絡(luò)線包絡(luò)線,曲線曲線y) %加說明加說明hold off; %關(guān)閉圖形保持關(guān)閉圖形保持gridy=2e-0.5xsin(2 x) 在實際應(yīng)用中,經(jīng)常需要在一個圖形窗口繪制若干個獨立的圖形,這就需要對窗口進行分割。分割后的圖形窗口由若干個繪圖區(qū)組成,每個繪圖區(qū)可以建立獨立的坐標(biāo)系并繪制圖形。4、圖形窗口的分割格式: subplot(m,n,p)說明: 將圖形

14、窗口分割成m行、n列個繪圖區(qū)例:在一個圖形窗口同時繪制正弦、余弦、正切和余切曲線程序如下: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);axis(0 2*pi -1 1);subplot(2,2,3);plot(x,t)title(tg(x);axis(0 2*pi -40 40);su

15、bplot(2,2,4);plot(x,ct)title(ctg(x),axis(0 2*pi -40 40)三、繪制二維圖形的其他函數(shù)三、繪制二維圖形的其他函數(shù)1、其他形式的線性直角坐標(biāo)圖 在線性直角直角坐標(biāo)系中,其他形式的圖形有條形圖、階梯形圖、桿圖和填充圖等。格式:bar(x,y,選項) %條形圖stairs(x,y,選項) %階梯圖 stem(x,y,選項) %桿圖fill(x1,y1,選項1,x2,y2,選項2,) %填充圖例:分別繪制函數(shù) 的條形圖、填充圖、階梯圖和桿圖程序如下:x=0:0.35:7;y=2*exp(-0.5*x);subplot(2,2,1);bar(x,y,g)

16、; %繪制條形圖title(bar(x,y,g);axis(0 7 0 2);subplot(2,2,2);fill(x,y,r);%繪制填充圖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);y=2e-0.5x2、極坐標(biāo)圖polar 函數(shù)用來繪制極坐標(biāo)圖,其調(diào)用格式為:格式: polar(theta,rho,選項)

17、說明:theta,rho分別為矢量的幅角、幅值程序如下:theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho,k)3、對數(shù)坐標(biāo)圖在實際應(yīng)用中,經(jīng)常用到對數(shù)坐標(biāo)圖,例如控制理論中的bode圖。格式:semilogx(x1,y1,選項1,x2,y2,選項2,)semilogy(x1,y1,選項1,x2,y2,選項2,)loglog(x1,y1,選項1,x2,y2,選項2,)其中:選項的定義與plot函數(shù)完全一致,前兩項為半坐標(biāo)對數(shù)圖,第三個為全坐標(biāo)圖例:繪制 的對數(shù)坐標(biāo)圖,并于直角坐標(biāo)圖進行比較x=0:0.1:10;y=1

18、0*x.*x;subplot(2,2,1);plot(x,y);title(plot(x,y););grid on;subplot(2,2,2);semilogx(x,y);title(semilogx(x,y);grid onsubplot(2,2,3);semilogy(x,y);title(semilogy(x,y);grid onsubplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on程序如下:y=10 x24、對函數(shù)自適應(yīng)采樣的繪圖函數(shù)格式:fplot(filename,lims,tol,選項)說明:filename為函數(shù)名,用以字符串

19、形式出現(xiàn),它可以是由多個分量函數(shù)構(gòu)成的行向量,分量函數(shù)可以是函數(shù)的直接字符串,也可以是內(nèi)部函數(shù)名或函數(shù)文件名,但自變量都必須為x。Lims為x,y的取值范圍,以行向量形式出現(xiàn),若取二元向量xmin,xmax時,x軸的范圍被人為確定,若取四維向量xmin,xmax,ymin,ymax時,x,y軸的范圍被人為確定。Tol為相對允許誤差。默認(rèn)值為2e-3。選項定義與plot相同。例:用fplot函數(shù)繪制 的曲線先建立函數(shù)文件myf.m:function y=myf(x)y=cos(tan(pi*x);在用fplot函數(shù)繪制myf.m函數(shù)曲線。在命令窗口鍵入fplot(myf,-0.4,1.4,1e-

20、4)輸出結(jié)果:也可直接用fplot函數(shù)繪圖fplot(cos(tan(pi*x),-0.4,1.4,1e-4)f(x)=cos(tan(x)5、其他形式的二維圖形舉例說明例:某次考試優(yōu)良、良好、中等、及格、不及格的人數(shù)為7、17、23、19、5,試用餅形圖進行成績統(tǒng)計分析 繪制復(fù)數(shù)的向量圖:3+2i、5.5-i、-1.5+5isubplot(1,2,1);pie(7,17,23,19,5);title(餅圖);legend(優(yōu)秀,良好,中等,及格,不及格);subplot(1,2,2);compass(3+2i,5.5-i,-1.5+5i);title(向量圖);輸出結(jié)果二、三維圖形二、三維圖

21、形1、繪制三維圖形的基本函數(shù)最基本的函數(shù)為plot3,它是將plot擴展到三維中去,因此他們十分相似。格式:plot3(x1,y1,z1,選項1,)例如:繪制空間曲線 x2+y2+z2=64 y+z=0t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);plot3(x,y,z,rp);title(Line in 3-D space);text(0,0,0,origin);xlabel(x);ylabel(y);zlabel(z);grid程序如下:輸出結(jié)果輸出結(jié)果2、三維曲面(1)平面網(wǎng)格坐標(biāo)矩陣的生成繪制z=f(x

22、,y)所代表的三維曲面,首先要在xy平面選定一矩形區(qū)域,假定矩形區(qū)域D=a,bc,d,然后將a,b在x方向分成m份,將c,d在y方向分為n份,由各劃分點分別作平行于兩坐標(biāo)軸的直線,將區(qū)域D分成mn各小矩形,生成代表每一個小矩形頂點坐標(biāo)平面網(wǎng)絡(luò)坐標(biāo)矩陣,最后利用有關(guān)矩陣函數(shù)繪圖。產(chǎn)生平面區(qū)域內(nèi)的網(wǎng)絡(luò)坐標(biāo)矩陣有兩種方法利用矩陣運算生成x=a:dx:b;y=(c:dy:d);X=ones(size(y)*x;Y=y*ones(size(x);上述語句執(zhí)行后,矩陣X的每一行都是向量x,行數(shù)等于向量y的元素的個數(shù),矩陣Y的每一列都是向量y,列數(shù)等于向量x的元素的個數(shù)。于是X和Y相同位置上的元素(X(i,

23、j),Y(i,j)恰好是區(qū)域D的(i,j)網(wǎng)絡(luò)坐標(biāo)。若根據(jù)每個網(wǎng)格點上的x,y坐標(biāo)求函數(shù)值z,則得到函數(shù)值矩陣Z。由X,Y,Z各列或各行所對應(yīng)坐標(biāo),對應(yīng)空間一條曲線,而空間曲線的集合組成空間曲面利用meshgrid函數(shù)生成x=a:dx:b;y=c:dy:d;X,Y=meshgrid(x,y)執(zhí)行上述語句后,所得到的網(wǎng)絡(luò)坐標(biāo)X,Y與得到的相同,當(dāng)X=Y時,meshgrid函數(shù)可寫成meshgrid(x)(2)繪制三維曲面的函數(shù)格式:格式:mesh(x,y,z,c) surf(x,y,z,c)一般情況:x,y,z是維數(shù)相同的矩陣,x,y是網(wǎng)絡(luò)坐標(biāo)矩陣,z是網(wǎng)點上的高度矩陣,c是指在不同高度下的顏色

24、范圍。C省略時,Matlab認(rèn)為c=z,即顏色的設(shè)定正比于圖形的高度,這樣可以得到層次分明的三維圖。例:用三維曲面表現(xiàn)函數(shù)x=0:0.1:2*pi;X,Y=meshgrid(x);z=sin(Y).*cos(X);mesh(X,Y,z); %用mesh函數(shù)繪制三維曲面圖xlabel(x-axis),ylabel(y-axis),zlabel(z-axis),title(mesh)程序1輸出結(jié)果輸出結(jié)果z=sinycosx程序2x=0:0.1:2*pi;X,Y=meshgrid(x);z=sin(Y).*cos(X);surf(X,Y,z);%用surf函數(shù)繪制三維曲面圖xlabel(x-axi

25、s),ylabel(y-axis),zlabel(z-axis),title(surf)輸出結(jié)果輸出結(jié)果程序3x=0:0.1:2*pi;X,Y=meshgrid(x);z=sin(Y).*cos(X);plot3(X,Y,z); %用plot函數(shù)繪制三維曲面圖xlabel(x-axis),ylabel(y-axis),zlabel(z-axis),title(plot3-1),grid輸出結(jié)果輸出結(jié)果例:分析由函數(shù)z=x2-2y2構(gòu)成的曲面形狀及平面z=a的交線x,y=meshgrid(-10:0.3:10);z1=(x.2-2*y.2)+eps;a=input(a=?);z2=a*ones(

26、size(x);subplot(1,2,1);surf(x,y,z1);hold on;surf(x,y,z2);axis(-10,10,-10,10,-100,100);grid;hold offr0=abs(z1-z2)6|abs(Y)6); %確定超出-6.6范圍的各點下標(biāo)ZZ(ii)=zeros(size(ii); %強制為0surf(X,Y,ZZ),shading interp;colormap(copper)light(position,0,-15,1);lighting phongmaterial(0.8,0.8,0.5,10,0.5) 例:表面切面程序如下觀看執(zhí)行的效果P=pe

27、aks(30); %從Matlab提供的雙變量正態(tài)分布曲面獲取數(shù)據(jù)P(18:20,9:15)=NaN;%為鏤空賦值surfc(P);%帶等位線的曲面圖colormap(hot)light(position,50,-10,5)material(0.9,0.9,0.6,15,0.4)grid off,box on 例:利用“非數(shù)”NaN,對圖形進行鏤空處理程序如下觀看執(zhí)行的效果clfx,y,z = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2); %產(chǎn)生三維點格陣v =x.*exp(-x.2-y.2-z.2);xs = -0.7,0.7; ys = 0; zs =0;%確定

28、切片位置slice(x,y,z,v,xs,ys,zs)%產(chǎn)生切片圖colorbarshading interpcolormap hsvxlabel(x),ylabel(y),zlabel(z)title(The color-to-v(x,y,z) mapping)view(-22,39)alpha(0.3) 例:圖形函數(shù) 222zyxxev程序如下觀看執(zhí)行的效果x,cmap=imread(c:winter.jpg);image(x);colormap(cmap)axis image off例:在c盤根目錄下有一圖形文件winter.jpg,在圖形窗口顯示該圖像。程序如下七、動畫制作Matlab

29、中的動畫形式有兩種:(1 1)一種是影片動畫-影片動畫預(yù)先制作圖形,存放在圖形緩沖區(qū),然后逐貞播放,這種動畫適用于難于實時繪制的復(fù)雜圖畫,這種方法計算量大,占用內(nèi)存多,但回放速度快,畫面連貫。(2)另一種是實時動畫-實時動畫保持圖形窗口中絕大部分的像素色彩不變,而知識更新部分像素的顏色從而構(gòu)成運動圖像。這種動畫適用于每次變化較少、圖形精度變化不是很高的場合。x,y,z=sphere(50);m=moviein(30);for i=1:30 surf(i*x,i*y,i*z) m(:,i)=getframe;endmovie(m,10)例:播放一個直徑不斷變化的球體影片動畫播放例:例:制作紅色小

30、球沿一條封閉路徑的下璇線運動的實時動畫。首先編寫anim_zzy1.m函數(shù)文件,并將其存放在Mtalab的work文件夾內(nèi)然后在命令窗口鍵入f=anim_zzy1(2,450)執(zhí)行后得function f=anim_zzy1(k,ki);%anim_zzy1.m演示紅色小沿一條封閉螺線運動的實時動畫%僅演示實時動畫的調(diào)用格式為: anim_zzy1(k)%即演示實時動畫又拍攝照片的調(diào)用格式為: f=anim_zzy1(k,ki)%k-紅球運動循環(huán)數(shù)(不小于1)%ki-制定拍照的瞬間,取11034(自變量采樣點數(shù))間的任意值%f-存儲拍攝照片數(shù)據(jù),可用image(f.cdata)觀察照片%產(chǎn)生封

31、閉的運動軌跡t1=(0:1000)/1000*10*pi;x1=cos(t1);y1=sin(t1);z1=-t1;t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2);t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3);y3=x3;t4=t2;x4=t4;y4=zeros(size(x4);z4=y4;x=x1 x2 x3 x4;y=y1 y2 y3 y4;z=z1 z2 z3 z4;plot3(x,y,z,color,1,0.6,0.4,LineWidth,2.5)

32、axis off%定義活動對象的顏色定義活動對象的顏色,點形點形,大小和擦除方式大小和擦除方式h=line(xdata,x(1),ydata,y(1),zdata,z(1),Color,1 0 0,Marker,.,MarkerSize,40,. EraseMode,xor)%使小球運動使小球運動n=length(x);i=2;j=1;while 1 set(h,xdata,x(i),ydata,y(i),zdata,z(i); drawnow; pause(0.0005) i=i+1; if nargin=2 & nargout=1 if (i=ki & j=1);f=get

33、frame(gcf);end end if in i=1;j=j+1; if jk;break;end endend小球沿螺旋線運動n=30;s=0.02;%產(chǎn)生n個隨機點(x,y),處于-0.5到0.5之間x=rand(n,1)-0.5;y=rand(n,1)-0.5;h=plot(x,y,.); %繪制隨機點axis(-1 1 -1 1);axis squaregrid offset(h,EraseMode,Xor,MarkerSize,20)%循環(huán)5000次,%產(chǎn)生動畫效果for i=linspace(1,10,500); drawnow x=x+s*randn(n,1); y=y+s*

34、randn(n,1); set(h,XData,x,YData,y);end例:例:模擬布朗運動模擬布朗運動程序如下程序如下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 offn=12;mmm=moviein(n);for i=1:nrotate(h,0 0 1,25);mmm(:,i)=getframe;endmovie(mmm,5,10)例如:例如:n=20;for i=1:n x=0:0.1:i; y=1-1/sqrt(1-0.32)*exp(-0.3*x).*sin(sqrt(1-0.32)*x+acos(0.3); plot(x,y) axis(0,20,0,1.5); %固定坐標(biāo)軸 M(i)=getframe; %抓取畫面endmovie(M,3) %播放3次例

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論