设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1881|回复: 0

matlab绘制koch(科赫曲线,雪花曲线)分形曲线

[复制链接]

19

主题

162

金钱

253

积分

入门用户

发表于 2019-8-9 15:06:12 | 显示全部楼层 |阅读模式

matlab plot函数绘制koch曲线程序,程序还是比较简单的,这里只绘制出了雪花的三分之一
  1. function koch_curve(number)%number代表koch的阶数,范围为大于等于2  
  2. figure  
  3. set(gcf,'position',[0,0,1920,1080]);%设置窗口分辨率,[0,0]和[1920,1080]分别为窗口左上角和右下角坐标可根据自己的屏幕分辨率调整,注释掉这句则使用matlab默认窗口分辨率  
  4. n=2;  
  5. koch1=[0,0;1,0];  
  6.     for i=1:number  
  7.         koch2=zeros(4*n-3,2);  
  8.         k=2;  
  9.         for j=2:n  
  10.             koch2(k,:)=[(koch1(j-1,1)*2+koch1(j,1))/3,(koch1(j-1,2)*2+koch1(j,2))/3];  
  11.             koch2(k+1,:)=[(koch1(j-1,1)+koch1(j,1)+sqrt(3)*(koch1(j-1,2)-koch1(j,2))/3)/2,(koch1(j-1,2)+koch1(j,2)-sqrt(3)*(koch1(j-1,1)-koch1(j,1))/3)/2];  
  12.             koch2(k+2,:)=[(koch1(j,1)*2+koch1(j-1,1))/3,(koch1(j,2)*2+koch1(j-1,2))/3];  
  13.             koch2(k+3,:)=koch1(j,:);  
  14.             k=k+4;  
  15.         end  
  16.         n=4*n-3;  
  17.         x=koch2(:,1);  
  18.         y=koch2(:,2);  
  19.         plot(x,y)  
  20.         axis equal   
  21.         koch1=koch2;  
  22.         pause(1);  
  23.     end   
  24. end  
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表