Matlab在分形中的应用研究

来源 :科技创新导报 | 被引量 : 0次 | 上传用户:soaringroc
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: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)^2  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(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);
  end
  end
  执行Koch(0,0,120,0,10),结果显示如图2。
  3 分形树
  一条线段,以线段的终点为起点向两边分出一定的角度、长度的两条线段,分出的线段的终点再做相同处理,以此类推,生成一种分形树。具体代码如下。
  function fractaltree(n,ax,ay,len,angle)   bx=ax+len*cos(angle);
  by=ay+len*sin(angle);
  plot([ax,bx],[ay,by]);
  angle1=pi/6;
  angle2=pi/9;
  hold on
  if n==0
  return;
  end
  fractaltree(n-1,bx,by,0.6*len,angle+angle1);
  fractaltree(n-1,bx,by,0.7*len,angle-angle2);
  end
  執行fractaltree(12,150,20,50,pi/2),结果显示如图3。
  4 结语
  分形形态是自然界普遍存在的,研究分形,是探讨自然界的复杂事物的客观规律及其内在联系的需要。分形提供了描述自然形态的几何学方法,使得在计算机上可以从少量数据出发,对复杂的自然景物进行逼真的模拟,并启发人们利用分形技术对信息做大幅度的数据压缩。它以其独特的手段来解决整体与部分的关系问题,利用空间结构的对称性和自相似性,采用各种模拟真实图形的模型,使整个生成的景物呈现出细节的无穷回归的性质,丰富多彩,具有奇妙的艺术魅力。
  参考文献
  [1] 姜健飞.数值分析及其MATLAB实验[M].北京:清华大学出版社,2015.
  [2] 史峰.MATLAB智能算法30个案例分析[M].北京:北京航空航天大学出版社,2015.
  [3] 张乐平,黄非,闵波,等.基于MATLAB生物信息学工具箱构建分子系统发生树[J].医学信息学杂志,2010,31(6):34-37.
  [4] 张林泉.MATLAB在统计学实验教学中的应用[J].高师理科学刊,2011,31(1):84-87.
  [5] 刘波,文忠.MATLAB信号处理[M].北京:电子工业出版社,2006.
  [6] 张德丰.MATLAB小波分析[M].北京:机械工业出版社,2009.
  [7] 刘莹,胡敏,余桂英,等.分形理论及其应用[J].江西科学,2006,24(2):205-209.
  [8] 孙霞,吴自勤,黄畵.分形原理及应用[M].合肥:中国科学技术大学出版社,2003.
  [9] 王达.几类复系统分形的特性分析与控制[D].山东大学,2016.
其他文献
本文在简要介绍了有关大学科技园研究的理论基础后尝试对大学科技园进行了概念的厘清和本质的界定;并从技术创新能力和制度创新能力以及文化创新能力角度对我国大学科技园的发
期刊
本文在分析传统的及现代意义企业主体内涵的基础上,针对我国企业是否已成为技术创新主体进行了深入分析,认为尽管我国企业技术创新的整体地位已得到很大提升,在研发投入、执
近年来,随着我国高校的发展,对高校后勤工作也提出了更高要求。而水电管理是高校后勤管理的重要内容之一,其直接关系着全校教职工和学生的用水用电问题,是保障高校师生生活及
【目的】以小白鼠为实验动物模型、玉米秸秆为发酵床垫料,探讨发酵床垫料中的微生物对小鼠机体免疫功能的影响。【方法】将小鼠随机分为4组,第1—3组小鼠分别置于用不同微生
近些年来我国经济的不断发展,科学技术的不断提高,推动着我国社会生活快速的转变。现阶段,我国电力技术不断提高以及电力工程的发展步伐不断加快,使得我国电网产业呈现出蓬勃
在信息化时代以及新高考的推行,"翻转课堂"的教学模式成为各大高校热捧的教学模式,它能满足"00后"大学生的个性发展、自主学习的特点,而大学生职业生涯规划课程作为高校的主
应用型人才培养模式的改革探索,是多数独立学院面临的重要课题。校企合作共建、协同育人是培养模式改革的一个重要途径。本文以烟台大学文经学院信息技术类专业校企合作实践
本文按照中国农业综合区划的九大区域的划分方法,对九大区域的粮食科技支撑现状、结构及增长潜力进行了研究,并运用层次分析法对我国九大区域粮食科技支撑体系进行了评价,并提出
在近年来给水处理用活性炭吸附性能指标问题引起了社会各界的广泛关注,诸多活性炭吸附性能指标与其对应的测试方法不断被研制和开发,不同类别的吸附性能指标优良性具有较大的