欢迎来到天天文库
浏览记录
ID:21475088
大小:26.50 KB
页数:6页
时间:2018-10-22
《matlab在分形中的应用研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Matlab在分形中的应用研究 摘要:Matlab具有强大的科学运算和灵活的程序设计,可提供高质量的图像可视化,已经在很多领域得到广泛应用。分形是非线性科学的重要分支,分形几何学却具有尺度上的对称性,分型图形是计算机图形学和分形理论相结合的产物。该文利用Matlab强大的编程工具和图形显示功能实现Cantor集、Koch曲线、分形树图形,这对数学类、计算机图形学和相关专业类研究人员有一定的参考价值。 关键词:分形MatlabCantor集Koch曲线 中图分类号:TP312文献标识码:A文章编号:1674-098X(2017)01(b)-0105-02 Matlab是矩阵实验室(Ma
2、trixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。Matlab提供了强大的科学运算、灵活的程序设计、高质量的图像可视化以及便捷地与其他程序和语言接口的功能[1,2]。目前,Matlab已?应用到很多科研领域,如,生物信息学[3]、统计学[4]、信号处理[5]、小波分析[6]等。 分形(Fractal)是非线性科学的一个重要分支,应用于自然科学和社会科学的众多领域[7-9]。1973年,数学家Mandelbrot在法兰西学院讲课时,首次提出了分形的思想。他给分形下的定义就是:一个
3、集合形状,可以细分为若干部分,而每一部分都是整体的精确或不精确的相似形。分形的基本特征是具有标度不变性。其研究的图形是非常不规则和不光滑的,已失去了通常的几何对称性。但是,在不同的尺度下进行观测时,分形几何学却具有尺度上的对称性或称标度不变性。 分形图形是计算机图形学和分形理论相结合的产物,在电脑模拟研究具有分形特征物体的图像。分形的计算机生成问题具有明显的挑战性,它使传统数学中无法表达的形态(如,山脉、花草等)得以表达。分形图案在自然界真实物体模拟、仿真形体生成、计算机动画、艺术装饰纹理、图案设计和创意制作等具有广泛的应用价值。 该文中利用强大的编程工具Matlab来实现Cantor集
4、、Koch曲线、分形树图形,这对数学类、计算机图形学和相关专业类研究人员有一定的参考价值。 1Cantor集 取一条长度为1的直线段,将它三等分,去掉中间一段,留剩下两段,再将剩下的两段再分别三等分,各去掉中间一段,剩下更短的四段,将这样的操作一直继续下去,直至无穷,由于在不断分割舍弃过程中,所形成的线段数目越来越多,长度越来越小,在极限的情况下,得到一个离散的点集,称为Cantor集。具体代码如下。 functionf=cantor(ax,ay,bx,by) c=0.2; d=2; if(bx-ax)>c x=[ax,bx];y=[ay,by];holdon; plot(x
5、,y,’LineWidth’,5);holdoff; cx=ax+(bx-ax)/3; cy=ay-d; dx=bx-(bx-ax)/3; dy=by-d; ay=ay-d; by=by-d; cantor(ax,ay,cx,cy); cantor(dx,dy,bx,by); end end 执行cantor(1,4,10,4),结果显示如图1。 2Koch曲线 Koch曲线,设想从一条直线段开始,将线段中间1/3部分用等边三角形的两条边代替,形成具有5个结点的图形,在新的图形中,又将图中每一直线段中间的1/3部分都用一等边三角形的两条边代替,再次形成新的图形,以此
6、重复,直至无穷。外界的变得原来越细微曲折,形状接近理想化的雪花。具体代码如下。 functionf=Koch(ax,ay,bx,by,c) if(bx-ax)^2+(by-ay)^27、if(alpha>=0&(ex-cx)<0)8、(alpha<=0&(ex-cx)<0) alpha=alpha+pi; end dy=cy+sin(alpha+pi/3)*l; dx=cx+cos(alpha+pi/3)*l; Koch(ax,ay,cx,cy,c); Koch(ex,ey,bx,by,c); Koch(cx,cy,dx,dy,c); Koch(dx,dy,ex,ey,c);
7、if(alpha>=0&(ex-cx)<0)
8、(alpha<=0&(ex-cx)<0) alpha=alpha+pi; end dy=cy+sin(alpha+pi/3)*l; dx=cx+cos(alpha+pi/3)*l; Koch(ax,ay,cx,cy,c); Koch(ex,ey,bx,by,c); Koch(cx,cy,dx,dy,c); Koch(dx,dy,ex,ey,c);
此文档下载收益归作者所有