幾個分形的matlab實現(xiàn)._第1頁
幾個分形的matlab實現(xiàn)._第2頁
幾個分形的matlab實現(xiàn)._第3頁
幾個分形的matlab實現(xiàn)._第4頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、幾個分形的 matlab 實現(xiàn)摘要:給出幾個分形的實例,并用matlab 編程實現(xiàn)方便更好的理解分形,欣賞其帶來的數(shù)學(xué)美感關(guān)鍵字: Koch 曲線實驗圖像一、問題描述:從一條直線段開始, 將線段中間的三分之一部分用一個等邊三角形的兩邊代替, 形成山丘形圖形如下圖 1在新的圖形中, 又將圖中每一直線段中間的三分之一部分都用一個等邊三角形的兩條邊代替,再次形成新的圖形如此迭代,形成Koch 分形曲線。二、算法分析:考慮由直線段( 2個點)產(chǎn)生第一個圖形(5個點)的過程。圖1中,設(shè) P1 和 P5 分別為原始直線段的兩個端點, 現(xiàn)需要在直線段的中間依次插入三個點P2 ,P3 ,P4 。顯然 P2位于

2、線段三分之一處, P4 位于線段三分之二處,P3點的位置可看成是由 P4 點以 P2 點為軸心,0逆時針旋轉(zhuǎn) 60 而得。旋轉(zhuǎn)由正交矩陣cos()sin()A33sin()cos()33實現(xiàn)。算法根據(jù)初始數(shù)據(jù)( P1 和 P5 點的坐標(biāo)),產(chǎn)生圖1中 5個結(jié)點的坐標(biāo)。結(jié)點的坐標(biāo)數(shù)組形成一個 5 2 矩陣,矩陣的第一行為P1 的坐標(biāo),第二行為 P2 的坐標(biāo) ,第五行為P5 的坐標(biāo)。矩陣的第一列元素分別為5個結(jié)點的 x 坐標(biāo),第二列元素分別為 5個結(jié)點的 y 坐標(biāo)。進(jìn)一步考慮 Koch 曲線形成過程中結(jié)點數(shù)目的變化規(guī)律。設(shè)第k 次迭代產(chǎn)生的結(jié)點數(shù)為nk ,第 k 1次迭代產(chǎn)生的結(jié)點數(shù)為nk 1 ,

3、則 nk 和 nk1 中間的遞推關(guān)系為 nk 1 4nk3 。三、實驗程序及注釋:p=0 0;10 0;%P為初始兩個點的坐標(biāo), 第一列為 x坐標(biāo) , 第二列為 y坐標(biāo)n=2;%n為結(jié)點數(shù)A=cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3);%旋轉(zhuǎn)矩陣fork=1:4d=diff(p)/3;%diff 計算相鄰兩個點的坐標(biāo)之差, 得到相鄰兩點確定的向量%則 d就計算出每個向量長度的三分之一, 與題中將線段三等分對應(yīng)m=4*n-3;%迭代公式q=p(1:n-1,:);%以原點為起點, 前 n-1 個點的坐標(biāo)為終點形成向量p(5:4:m,:)=p(2:n,:);%迭

4、代后處于 4k+1 位置上的點的坐標(biāo)為迭代前的相應(yīng)坐標(biāo)p(2:4:m,:)=q+d;%用向量方法計算迭代后處于4k+2位置上的點的坐標(biāo)p(3:4:m,:)=q+d+d*A'%用向量方法計算迭代后處于4k+3位置上的點的坐標(biāo)p(4:4:m,:)=q+2*d;%用向量方法計算迭代后處于4k位置上的點的坐標(biāo)n=m;%迭代后新的結(jié)點數(shù)目endplot(p(:,1),p(:,2)%繪出每相鄰兩個點的連線axis(0 10 0 10)四、實驗數(shù)據(jù)記錄:由第三部分的程序,可得到如下的Koch分形曲線:圖 2五、注記:參照實驗方法,可繪制如下生成元的Koch 分形曲線:圖 3此時,旋轉(zhuǎn)矩陣為:cos(

5、)sin()01A2210sin()cos()22程序和曲線如下:p=0 0;10 0;%P為初始兩個點的坐標(biāo), 第一列為 x 坐標(biāo) , 第二列為 y坐標(biāo)n=2;%n為結(jié)點數(shù)A=0 -1;1 0;%旋轉(zhuǎn)矩陣for k=1:4d=diff(p)/3;%diff 計算相鄰兩個點的坐標(biāo)之差, 得到相鄰兩點確定的向量%則 d就計算出每個向量長度的三分之一, 與題中將線段三等分對應(yīng)m=5*n-4;%迭代公式q=p(1:n-1,:);%以原點為起點 , 前 n-1 個點的坐標(biāo)為終點形成向量p(6:5:m,:)=p(2:n,:);%迭代后處于5k+1位置上的點的坐標(biāo)為迭代前的相應(yīng)坐標(biāo)p(2:5:m,:)=q

6、+d;%用向量方法計算迭代后處于5k+2位置上的點的坐標(biāo)p(3:5:m,:)=q+d+d*A'%用向量方法計算迭代后處于5k+3位置上的點的坐標(biāo)p(4:5:m,:)=q+2*d+d*A'%用向量方法計算迭代后處于5k+4位置上的點的坐標(biāo)p(5:5:m,:)=q+2*d;%用向量方法計算迭代后處于5k位置上的點的坐標(biāo)n=m;%迭代后新的結(jié)點數(shù)目endplot(p(:,1),p(:,2)%繪出每相鄰兩個點的連線axis(0 10 0 10)圖 4由于中間三分之一部分是一個正方形時,0.7 倍,即中間部分為一個長與寬之比為有很多連接的部分。所以我們將高度壓縮到原來的1:0.7 的矩形

7、時,得到程序和曲線如下:p=0 0;10 0;%P為初始兩個點的坐標(biāo), 第一列為x 坐標(biāo) , 第二列為y坐標(biāo)n=2;%n為結(jié)點數(shù)A=0 -1;1 0;%旋轉(zhuǎn)矩陣fork=1:4d=diff(p)/3;%diff計算相鄰兩個點的坐標(biāo)之差, 得到相鄰兩點確定的向量%則 d就計算出每個向量長度的三分之一, 與題中將線段三等分對應(yīng)m=5*n-4;%迭代公式q=p(1:n-1,:);%以原點為起點, 前 n-1 個點的坐標(biāo)為終點形成向量p(6:5:m,:)=p(2:n,:);%迭代后處于5k+1位置上的點的坐標(biāo)為迭代前的相應(yīng)坐標(biāo)p(2:5:m,:)=q+d;%用向量方法計算迭代后處于5k+2位置上的點的

8、坐標(biāo)p(3:5:m,:)=q+d+0.7*d*A'%用向量方法計算迭代后處于5k+3 位置上的點的坐標(biāo)p(4:5:m,:)=q+2*d+0.7*d*A'%用向量方法計算迭代后處于5k+4 位置上的點的坐標(biāo)p(5:5:m,:)=q+2*d;%用向量方法計算迭代后處于5k位置上的點的坐標(biāo)n=m;%迭代后新的結(jié)點數(shù)目endplot(p(:,1),p(:,2)axis(0 10 0 10)%繪出每相鄰兩個點的連線圖參照實驗方法,我們由四邊形的四個初始點出發(fā),對于四邊形的每條邊,生成元如下:圖 6可得到火焰般的圖形。程序和曲線如下:p=0 10;10 0;0 -10;-10 0;0 10

9、;%P為四邊形四個頂點的坐標(biāo), 其中第五個點與第一個點重合%第一列為 x坐標(biāo) , 第二列為 y坐標(biāo)n=5;%n為結(jié)點數(shù)A=cos(-pi/3) -sin(-pi/3);sin(-pi/3) cos(-pi/3);fork=1:5d=diff(p)/3;m=4*n-3;%迭代公式, 以便于繪圖%旋轉(zhuǎn)矩陣 , 順時針旋轉(zhuǎn)60 度q=p(1:n-1,:);p(5:4:m,:)=p(2:n,:);p(2:4:m,:)=q+d;p(3:4:m,:)=q+2*d+d*A'p(4:4:m,:)=q+2*d;n=m;endplot(p(:,1),p(:,2)axis(-10 10 -10 10)圖 7

10、參照實驗方法,由下列的生成元,繪制Koch 分形曲線:圖8分析:為了繪圖方便, 我們將結(jié)點數(shù)處理一下, 把第一次迭代產(chǎn)生的六個點看成十個點,即圖中有五條線段(,) ,我們將每條線段的每個端點看成新的兩個結(jié)點,這樣我們就可以很方便地用 plot 繪圖了。程序和曲線如下:p=0 0;10 10;%P為初始兩個點的坐標(biāo), 第一列為 x 坐標(biāo) , 第二列為 y 坐標(biāo)n=2;%n為結(jié)點數(shù)A=cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3);B=cos(-pi/3) -sin(-pi/3);sin(-pi/3) cos(-pi/3);%旋轉(zhuǎn)矩陣 A對應(yīng)于第一次逆時針旋轉(zhuǎn)60

11、度 , 旋轉(zhuǎn)矩陣 B對應(yīng)于第二次順時針旋轉(zhuǎn)60度fork=1:4d=diff(p)/3;d1=d(1:2:n,:);%取每條線段對應(yīng)的向量m=5*n;%迭代公式q1=p(1:2:n-1,:);p(10:10:m,:)=p(2:2:n,:);p(1:10:m,:)=p(1:2:n,:);%迭代后處于10k 與 10k+1 位置上的點的坐標(biāo)為迭代前的相應(yīng)坐標(biāo)p(2:10:m,:)=q1+d1;%用向量方法計算迭代后處于10k+2,10k+3,10k+5位置上的點的坐標(biāo), 都相同p(3:10:m,:)=p(2:10:m,:);p(4:10:m,:)=q1+d1+d1*A'%用向量方法計算迭代后處于10k+4 位置上的點的坐標(biāo)p(5:10:m,:)=p(2:10:m,:);p(6:10:m,:)=q1+2*d1;%用向量方法計算迭代后處于10k+6,10k+7,10k+9位置上的點的坐標(biāo),

溫馨提示

  • 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

提交評論