實(shí)驗(yàn)三MATLAB的圖形功能于分形_第1頁
實(shí)驗(yàn)三MATLAB的圖形功能于分形_第2頁
實(shí)驗(yàn)三MATLAB的圖形功能于分形_第3頁
實(shí)驗(yàn)三MATLAB的圖形功能于分形_第4頁
實(shí)驗(yàn)三MATLAB的圖形功能于分形_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)三 MATLAB的圖形功能與分形MATLAB圖形窗口二維繪圖命令介紹三維繪圖命令介紹函數(shù)的迭代、混沌與分形一、實(shí)驗(yàn)?zāi)康氖煜ATLAB軟件中關(guān)于圖形的基本命令,掌握利用MATLAB軟件進(jìn)行函數(shù)圖形繪制的方法。 在微積分中,我們?cè)?jīng)討論過一元函數(shù)的作圖,在空間解析幾何中,我們討論過二次曲面的圖形,現(xiàn)在我們嘗試用MATLAB軟件來解決函數(shù)的繪圖問題。MATLAB 的圖形窗口 MATLAB 的圖形窗口專門用于圖形顯示. 繪圖命令將把圖形輸出到當(dāng)前窗口,若在命令執(zhí)行前,當(dāng)前窗口已經(jīng)存在圖形,則原圖形將被新圖象覆蓋掉。如果想保存原圖形和輸出新圖形,必須創(chuàng)建新的圖形窗口。創(chuàng)建圖形窗口命令為: figu

2、refigure :按創(chuàng)建的先后順序命名圖形窗口, 如:figure No.1,figure No.2figure(n):創(chuàng)建圖形窗口為 figure No.n。 如:figure(100),創(chuàng)建圖形窗口 figure No.100Plot(X,Y) 最基本的二維圖形命令plot命令自動(dòng)打開一個(gè)圖形窗口Figure1原理: 用直線連接相鄰兩數(shù)據(jù)點(diǎn)來繪制圖形 根據(jù)圖形坐標(biāo)大小自動(dòng)縮擴(kuò)坐標(biāo)軸,將數(shù)據(jù)標(biāo)尺及單位標(biāo)注自動(dòng)加到兩個(gè)坐標(biāo)軸上使用方法:(1) X, Y都是向量,且它們的長(zhǎng)度相等;(2)如果X和Y都是維數(shù)相同矩陣,按列與列對(duì)應(yīng)繪圖例1. x=0:0.1:2*pi; y=cos(x); plot

3、(y) figure, plot(x,y)plot(y): 以y的值為縱坐標(biāo),y的下標(biāo)為橫坐標(biāo)。plot(x,y): 以x為橫坐標(biāo),以y為縱坐標(biāo)例2. 繪制函數(shù) y = sin t sin 9t 的圖形.t1=(0:11)/11*pi; y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi; y2=sin(t2).*sin(9*t2);plot(t1,y1,t1,y1,o), figure,plot(t2,y2)同時(shí)繪制多條曲線 plot(x1,y1,x2,y2,)例3. 衰減振蕩曲線函數(shù): y=e -0.5x sin 5x圖形.x=0:0.1:4*pi; y= ex

4、p(-0.5*x) ;y1=y .*sin(5*x);plot(x,y1,x,y,-r,x,-y,-r)plot命令中線型和顏色的使用 格式:plot(x,y,s) 實(shí)線(默認(rèn)值) 虛線. 點(diǎn)劃線 : 點(diǎn)連線符號(hào) 線型 r 紅 g 綠 b 藍(lán) k 黑c 青 y 黃w 白 m 洋紅符 色 符 色其中 s為類型說明參數(shù),它是由線型、顏色或頂點(diǎn)標(biāo)記組合成的字符串(用單引號(hào)括起)繪散點(diǎn)圖用頂點(diǎn)標(biāo)記fplot(function,limits,LineSpec) 在limits指定的范圍內(nèi)繪制function函數(shù)的圖形. limits是一個(gè)矢量, 指定x軸上的范圍xmin, xmax, 或者x軸和y軸上的

5、范圍xmin xmax ymin ymax. function必須是M文件函數(shù)的名稱或句柄, 或者含有變量x的字符串. LineSpec指定屬性進(jìn)行繪圖. fplot命令的使用f=inline(x.*sin(1./x)fplot(f,-.5,.5,400)f=inline(exp(-.5*x).*sin(5*x) %構(gòu)造內(nèi)聯(lián)函數(shù)對(duì)象 fplot(f,0,9,r)例4.創(chuàng)建一個(gè)M文件myfun, 返回一個(gè)兩列矩陣.function Y=myfun(x)Y(:,1)=200*sin(x)/x;Y(:,2)=x2; 創(chuàng)建一個(gè)指向myfun的函數(shù)句柄. fh=myfun;用下面的語句繪圖.fplot(

6、fh,-20,20)生成右下圖. 例5.其它常見二維繪圖函數(shù)集合例6.用pie函數(shù)生成餅圖. x=1 3 5 7 9;pie(x) figureexplode=0 1 0 0 0;pie(x,explode)例7.在同一幅圖中組合線形圖和火柴桿圖.t=0:pi/20:2*pi;y=exp(sin(t);plotyy(t,y,t,y,plot,stem)yn=randn(10000,1); hist(yn)例8.直方圖是一種將數(shù)據(jù)按區(qū)間段分類統(tǒng)計(jì),并將落入各區(qū)間數(shù)據(jù)個(gè)數(shù)直觀表現(xiàn)出來的柱狀圖.y=randn(10000,3); hist(y)調(diào)用格式為:ploar(Theta,Rho,s):The

7、ta為角度,Rho為半徑,s是字符串,用來控制圖形的線型。極坐標(biāo)繪圖命令ploar例9.阿基米德螺線theta=0:pi/20:6*pi;rho=2.*theta;polar(theta,rho,r)圖形窗口的分割subplot命令實(shí)現(xiàn)圖形窗口分割.在一個(gè)圖形窗口中顯示幾幅圖象,對(duì)幾個(gè)函數(shù)進(jìn)行比較subplot(m,n,i):把圖形窗口分割為m行n列子窗口,并選定第i個(gè)窗口為當(dāng)前窗口。subplot(2,2,1)subplot(2,2,2)subplot(2,2,3)subplot(2,2,4)坐標(biāo)系的調(diào)整Matlab根據(jù)要繪制的曲線數(shù)據(jù)范圍自動(dòng)選擇合適的坐標(biāo)系,但當(dāng)自動(dòng)選擇的坐標(biāo)系不太適合時(shí)

8、,可以自定義新的坐標(biāo)系。axis(xmin xmax ymin ymax)設(shè)置當(dāng)前圖形窗口的x-軸y-軸的數(shù)值坐標(biāo)數(shù)據(jù)坐標(biāo)的最小值必須小于相應(yīng)的最大值,否則出錯(cuò)V = AXIS返回坐標(biāo)數(shù)據(jù)參考命令:axis auto、axis off 、axis on 實(shí)驗(yàn)1.拋射體初始速度 v0 =515(米/秒),發(fā)射角為 ,對(duì)每一確定的發(fā)射角 ,拋射線參數(shù)方程v0=515;alpha=pi/4;ta=2*v0*sin(alpha)/9.8;t=ta*(0:16)/16;x=v0*cos(alpha)*t;y=v0*sin(alpha)*t-0.5*9.8*t.2;plot(x,y) v0sin t 0.

9、5 g t2 = 0a=.1:.1:pi/2; v0=515;ta=2*v0*sin(a)/9.8;t=ta*(0:16)/16;x=v0*diag(cos(a)*t;y=v0*diag(sin(a)*t-4.9*t.2;plot(x,y,r)用給定數(shù)據(jù)繪制空間(三維)曲線空間曲線繪制命令plot3和二維繪圖命令plot基本相同,其格式為:plot3(x,y,z)plot3(x1,y1,z1,s1,x2,y2,z2,s2)其中x1,y1,z1 分別為第一維至第三維數(shù)據(jù),是向量或矩陣,但必須同階;s1、s2為可選參數(shù),用于設(shè)置線型、顏色或數(shù)據(jù)點(diǎn)標(biāo)記(用單引號(hào)括起來)。例10. 螺旋線t=0:0.

10、1:8*pi;plot3(sin(t),cos(t),t)title(繪制螺旋線)例11. 參數(shù)為矩陣時(shí)的三維線形圖x,y=meshgrid(-2:0.1:2);z=x.*exp(-x.2-y.2);plot3(x,y,z); grid off用給定數(shù)據(jù)繪制三維曲面在繪圖數(shù)據(jù)已知的情況下, 可以利用mesh, surf和surfl等函數(shù)分別繪制網(wǎng)格圖, 刻面圖和曲面圖. 其中刻面圖是用不同顏色對(duì)網(wǎng)格圖中的單元進(jìn)行填充, 而曲面圖是對(duì)刻面圖的顏色進(jìn)行了平滑處理.繪制三維曲面圖可分為三個(gè)過程:生成平面網(wǎng)格點(diǎn)數(shù)據(jù);計(jì)算三維網(wǎng)格點(diǎn)數(shù)據(jù);繪制三維曲面并進(jìn)行處理Matlab在繪制函數(shù)z=f(x, y)的三

11、維圖形時(shí),首先將其定義域D分為若干個(gè)小矩形(或三角形),然后計(jì)算出網(wǎng)格點(diǎn)上的函數(shù)值,最后連接相鄰的函數(shù)值空間數(shù)據(jù)并構(gòu)成函數(shù)的網(wǎng)格曲面。我們以矩形網(wǎng)格為例。x,y=meshgrid(-8:.5:8);r=sqrt(x.2+y.2)+eps;z=sin(r)./r; mesh(x,y, z)colormap(1 0 0)例12. 巴拿馬草帽x 是區(qū)間x0,xm上劃分點(diǎn)組成的向量;y 是區(qū)間y0,yn上劃分點(diǎn)組成的向量;X,Y是矩陣,X的行向量都是x,Y的列向量都是y。X = -2 0 2 -2 0 2 -2 0 2 -2 0 2 -2 0 2生成平面網(wǎng)格點(diǎn)命令: X, Y=meshgrid(x,

12、y)例13. X,Y=meshgrid(-2:2:2,-2:1:2)Y = -2 -2 -2 -1 -1 -1 0 0 0 1 1 1 2 2 2三維曲面繪圖的三個(gè)步驟:生成平面網(wǎng)格、計(jì)算三維網(wǎng)格數(shù)據(jù)和繪制三維網(wǎng)面繪制三維曲面命令mesh: 生成網(wǎng)格曲面.格式: mesh(x,y,z)或mesh(z)例14. X,Y=meshgrid(-2:.2:2,-2:.2:2);Z=X.*exp(-X.2-Y.2);mesh(X,Y,Z)meshc:除了生成網(wǎng)格曲面外,還在x-y平面上生成等高線;例15.X,Y=meshgrid(-2:.2:2,-2:.2:2);Z=X.*exp(-X.2-Y.2);m

13、eshc(Z);meshz:除了生成網(wǎng)格曲面外,還在曲面下面加一長(zhǎng)方形臺(tái)柱。meshz(Z);colormap(0 0 1) %設(shè)定色圖參數(shù)surf: 對(duì)網(wǎng)線圖的網(wǎng)格塊區(qū)域著色得到刻畫面. surfc: 和meshc類似,在刻面圖下方繪上等值線.surfl: 對(duì)刻畫面中單元顏色進(jìn)行平滑處理, 得到曲面圖, 更接近實(shí)體外觀.例16. surf(Z) figure surfc(Z) figure surfl(Z) surf(Z)colormap(R G B)figuremesh(Z)colormap(0 0 1)常利用colormap函數(shù)對(duì)色圖參數(shù)進(jìn)行設(shè)定來達(dá)到所需的視覺效果. 0 0 0 黑色

14、0 0 1 蘭色 0 1 0 綠色 0 1 1 淺蘭 1 0 0 紅色 1 0 1 粉紅 1 1 0 黃色 1 1 1 白色0.5 0.5 05 灰色0.5 0 0 暗紅色1 0.62 0.4 銅色0.49 1 0.8 淺綠0.49 1 0.83 寶石蘭 飽和色 調(diào)和色Colormap(CM) CM含義CM含義autumn紅黃濃淡jet藍(lán)頭紅尾bone藍(lán)色調(diào)濃淡lines用plot繪線色colorcube濃淡多彩交錯(cuò)pink淡粉紅色cool青品紅濃淡色prism光譜交錯(cuò)色copper純銅色調(diào)spring青黃濃淡色flag紅白藍(lán)黑交錯(cuò)summer綠、黃濃淡色gray灰色調(diào)線性濃淡winter藍(lán)、

15、綠濃淡色hot黑紅黃白濃淡色white全白色hsv兩端為紅飽和色函數(shù)的曲線和曲面函數(shù)的曲線 使用ezplot和ezplot3函數(shù),可以方便的繪制二維和三維參數(shù)曲線. ezplot函數(shù)調(diào)用格式:ezplot(f,xmin,xmax,ymin,ymax)f是一個(gè)字符串 ezplot(x,y,tmin,tmax)例. 繪制函數(shù) ezplot3函數(shù)調(diào)用格式:ezplot3(x,y,z,tmin,tmax)例18.繪制如下參數(shù)方程的曲線圖 利用ezplot3函數(shù)可以繪制該方程曲線圖ezplot3(exp(t/10),sin(t)*cos(t),t,0,6*pi)函數(shù)的曲面ezmesh繪制函數(shù)表示曲面的網(wǎng)

16、格圖,也可以利用ezsurf繪制函數(shù)表示的曲面ezmesh命令格式:ezmesh(f,domain)ezmesh(x,y,z,smin,smax,tmin,tmax)例19.繪制如下函數(shù)的曲面圖 ezmesh(y2-3*x*y+x2,-4,4,-4,4)t=-pi:pi/10:pi;x y z=cylinder(1+sin(t);surf(x,y,z)axis square柱面和球面k=5;n=2k-1;theta=pi*(-n:2:n)/n;phi=(pi/2)*(-n:2:n)/n;x=cos(phi)*cos(theta);y=cos(phi)*sin(theta);z=sin(phi)

17、*ones(size(theta);colormap(0 0 0; 1 1 1)C=hadamard(2k);surf(x,y,z,C)axis square繪復(fù)變函數(shù)圖命令cplxmap格式: cplxmap(z,f(z),與網(wǎng)格命令結(jié)合使用 cplxgrid.z=cplxgrid(20);plxmap(z,z)figurecplxmap(z,z.2)figurecplxmap(z,z.3)標(biāo)注坐標(biāo)軸x,y,z的相應(yīng)命令為xlabel,ylabel,zlabel.xlabel(text)xlabel(text,Property1,value1,)給圖形加標(biāo)題的命令是titletitle(te

18、xt)title(text,Property1,value1,)text是要添加的文本,Property是該文本的屬性,value是相應(yīng)的屬性值,定義所用字體、大小及標(biāo)注角度等。坐標(biāo)軸和標(biāo)題標(biāo)注x,y=meshgrid(-6:0.2:6);z=x.2-y.2;mesh(x,y,z)colormap(0 0 1)x,y=meshgrid(-8:0.5:8);z=x.2-y.2;ii=find(abs(x)6|abs(y)6);z(ii)=zeros(size(ii);mesh(x,y,z)矩形域上的馬鞍面t=0:.1:2*pi;r=0:0.1:2;x=r*cos(t);y=r*sin(t);zz

19、=x.2-y.2;surfc(x,y,zz)figuremesh(x,y,zz)colormap(0 0 1) 圓域上的馬鞍面了解有關(guān)分形的基本特性以及生成分形圖形的基本方法,對(duì)分形幾何這門學(xué)科有一個(gè)直觀的了解。同時(shí),掌握利用MATLAB軟件進(jìn)行分形圖形生成的方法。函數(shù)的迭代、混沌與分形早在19世紀(jì)末及20世紀(jì)初,一些科學(xué)家就構(gòu)造出一些邊界形狀極不光滑的圖形,這類圖形的構(gòu)造方法都有一個(gè)共同的特點(diǎn),即最終圖形F都是按照一定的規(guī)則R通過對(duì)初始圖形F不斷修改得到的,下面是幾個(gè)最具代表性的分形圖形及其生成方法。例1:Koch曲線及其構(gòu)造方法給定一條線段F0,將該線段三等分,并將中間一段用以該線段為邊的

20、等邊三角形的另外兩邊代替,得到圖形F1;然后,再對(duì)圖形F1中每一小段都按照上述方式修改,直至無窮,則最后得到的極限曲線,即所謂的Koch曲線。 F0 F1 F2 F3 F4 F5 Koch曲線的MATLAB程序如下:function koch(p,q,n)axis equalif (n=0) plot(p(1);q(1), p(2);q(2), LineWidth,1,Color,red); hold on;else c = q-p; c = -c(2); c(1); % 表示與c向量垂直的向量 c = (p+q)/2 + c/sqrt(12); % 求出向左側(cè)翹起 1/3的頂點(diǎn)坐標(biāo)向量 c

21、a = (2*p+q)/3; % 求出從 p 到 q 的 1/3 處端點(diǎn)坐標(biāo)向量 a b = (p+2*q)/3; % 求出從 p 到 q 的 2/3 處端點(diǎn)坐標(biāo)向量 b koch(p, a, n-1); % 對(duì) pa 線段做下一回合 koch(a, c, n-1); % 對(duì) ac 線段做下一回合 koch(c, b, n-1); % 對(duì) cb 線段做下一回合 koch(b, q, n-1); % 對(duì) bq 線段做下一回合end其中參數(shù)p與q是起點(diǎn)和終點(diǎn)的坐標(biāo),用列向量表示。p=1,1q=10,1n=3Koch(p,q,3)例:Sierpinski三角形及其構(gòu)造方法這是分形的另一個(gè)典型例子。給

22、定一個(gè)三角形S0(填成黑色),取各邊的中點(diǎn),連接起來構(gòu)成一個(gè)相似三角形(填成白色),得到圖形S1,現(xiàn)在,白色三角形的周圍有三個(gè)小黑三角形,我們對(duì)這三個(gè)小黑三角形繼續(xù)上面的操作以至無窮,最后得到的圖形稱為Sierpinski三角形。按照上述方法生成Sierpinski三角形的MATLAB函數(shù)如下,其中A,B,C表示Sierpinski三角形的三個(gè)頂點(diǎn)坐標(biāo),用列向量表示,level是使用生成方法的次數(shù)。 function sierpinski(A, B, C, level)% SIERPINSKI Recursively generated Sierpinski triangle.% sierpi

23、nski(PA, PB, PC, LVL) generates an approximation to%the Sierpinski triangle, where the 2-vectors PA, PB and PC% define the triangle vertices.% LVL is the level of recursion.if level = 0 % Fill the triangle with vertices A, B, C. fill (A(1), B(1), C(1), A(2), B(2), C(2), 0.0 0.0 0.0); hold onelse % R

24、ecursive calls for the three subtriangles sierpinski(A, (A + B)/2, (A + C)/2, level-1) sierpinski(B, (B + A)/2, (B + C)/2, level-1) sierpinski(C, (C + A)/2, (C + B)/2, level-1)end下圖依次是level=0,1,2,3,4,5所得到的圖形。 S0 S1 S2 S3 S4 S5 a=1,1b=2,1c=1.5,3 sierpinski(a, b, c, 4)定義 迭代序列給定某個(gè)初值,反復(fù)作用以同一個(gè)函數(shù)的過程稱為迭代 ,

25、一般形式為它生成了一個(gè)序列 ,稱為迭代序列迭代序列的收斂性 設(shè)函數(shù) 滿足:(1)對(duì)任意 ; 在( )內(nèi)可導(dǎo),且存在常數(shù) 使得則當(dāng)初值 時(shí),由 生成的迭代序列收斂問題1:如果迭代序列收斂,收斂點(diǎn)會(huì)滿足怎樣的條件?分式線性函數(shù)的迭代例: 先取初值x0=5.5f=inline(25*x-85)/(x+3);%先定義函數(shù)syms x;x0=5.5;for i=1:1:30 x0=f(x0); fprintf(%g,%gn,i, x0);end 迭代次數(shù)迭代序列迭代次數(shù)迭代序列取其它的初值做試驗(yàn)初值收斂性得到收斂點(diǎn)的迭代次數(shù)-40000收斂于1716-500收斂于1716-20收斂于17160收斂于17

26、174收斂于17174.9收斂于17195收斂于505.1收斂于17196收斂于171720收斂于1712100收斂于17141000收斂于1714結(jié)論:只要初值不取為5,迭代序列都收斂,并且收斂速度較快;只要初值不取為5,迭代序列總收斂于17。易知,f(x)的不動(dòng)點(diǎn)恰好是17與5。5稱為排斥點(diǎn),17稱為吸引點(diǎn)。問題2 為何17是吸引點(diǎn),5是排斥點(diǎn)?例 用分式函數(shù)的迭代法近似計(jì)算f=inline(x+2)/(x+1);%先定義函數(shù)syms x;x0=5.5;for i=1:1:10 x0=f(x0); fprintf(%g,%gn,i, x0);end 迭代的可視化(蜘蛛網(wǎng)圖)f=inline(25*x-85)/(x+3);x=linspace(1,202,202);y=linspace(1,202,202);x(1)=5.5;y(1)=0;x(2)=x(1);y(2)=x(1);for i=1:100 x(1+2*i)=x(2*i); x(2+2*i)=f(x(1+2*i); y(1+2*i)=x(2+2*i); y(2+2*i)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論