- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab在分形中的应用研究
摘 要:Matlab具有强大的科学运算和灵活的程序设计,可提供高质量的图像可视化,已经在很多领域得到广泛应用。分形是非线性科学的重要分支,分形几何学却具有尺度上的对称性,分型图形是计算机图形学和分形理论相结合的产物。该文利用Matlab强大的编程工具和图形显示功能实现Cantor集、Koch曲线、分形树图形,这对数学类、计算机图形学和相关专业类研究人员有一定的参考价值。
关键词:分形 Matlab Cantor集 Koch曲线
中图分类号:TP312 文献标识码:A 文章编号:1674-098X(2017)01(b)-0105-02
Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。Matlab提供了强大的科学运算、灵活的程序设计、高质量的图像可视化以及便捷地与其他程序和语言接口的功能[1,2]。目前,Matlab已?应用到很多科研领域,如,生物信息学[3]、统计学[4]、信号处理[5]、小波分析[6]等。
分形(Fractal)是非线性科学的一个重要分支,应用于自然科学和社会科学的众多领域[7-9]。1973年,数学家Mandelbrot在法兰西学院讲课时,首次提出了分形的思想。他给分形下的定义就是:一个集合形状,可以细分为若干部分,而每一部分都是整体的精确或不精确的相似形。分形的基本特征是具有标度不变性。其研究的图形是非常不规则和不光滑的,已失去了通常的几何对称性。但是,在不同的尺度下进行观测时,分形几何学却具有尺度上的对称性或称标度不变性。
分形图形是计算机图形学和分形理论相结合的产物,在电脑模拟研究具有分形特征物体的图像。分形的计算机生成问题具有明显的挑战性,它使传统数学中无法表达的形态(如,山脉、花草等)得以表达。分形图案在自然界真实物体模拟、仿真形体生成、计算机动画、艺术装饰纹理、图案设计和创意制作等具有广泛的应用价值。
该文中利用强大的编程工具Matlab来实现Cantor集、Koch曲线、分形树图形,这对数学类、计算机图形学和相关专业类研究人员有一定的参考价值。
1 Cantor集
取一条长度为1的直线段,将它三等分,去掉中间一段,留剩下两段,再将剩下的两段再分别三等分,各去掉中间一段,剩下更短的四段,将这样的操作一直继续下去,直至无穷,由于在不断分割舍弃过程中,所形成的线段数目越来越多,长度越来越小,在极限的情况下,得到一个离散的点集,称为Cantor集。具体代码如下。
function f=cantor(ax,ay,bx,by)
c=0.2;
d=2;
if (bx-ax)c
x=[ax,bx];y=[ay,by];hold on;
plot(x,y,’LineWidth’,5);hold off;
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。
2 Koch曲线
Koch曲线,设想从一条直线段开始,将线段中间1/3部分用等边三角形的两条边代替,形成具有5个结点的图形,在新的图形中,又将图中每一直线段中间的1/3部分都用一等边三角形的两条边代替,再次形成新的图形,以此重复,直至无穷。外界的变得原来越细微曲折,形状接近理想化的雪花。具体代码如下。
function f=Koch(ax,ay,bx,by,c)
if (bx-ax)^2+(by-ay)^2c
x=[ax,bx];y=[ay,by];
plot(x,y,’LineWidth’,2);
axis equal
hold on;
else
cx=ax+(bx-ax)/3; cy=ay+(by-ay)/3;
ex=bx-(bx-ax)/3; ey=by-(by-ay)/3;
l=sqrt((ex-cx)^2+(ey-cy)^2);
alpha=atan((ey-cy)/(ex-cx));
if (alpha=0(ex-cx)0)|(alpha=0(ex-cx)0)
alpha=alpha+pi;
end
dy=cy+sin(alpha+pi/3)*l;
dx=cx+cos(alp
文档评论(0)