Matlab分形植物模拟
Matlab实验报告:分形迭代

数学实验报告:分形迭代练习11.实验目的:绘制分形图案并分析其特点。
2.实验内容:绘制Koch曲线、Sierpinski三角形和树木花草图形,观察这些图形的局部和原来分形图形的关系。
3.实验思路:利用函数反复调用自己来模拟分形构造时的迭代过程,当迭代指标n为0时运行作图操作,否则继续迭代。
4.实验步骤:(1)Koch曲线function koch(p,q,n) % p、q分别为koch曲线的始末复坐标,n为迭代次数if (n==0)plot([real(p);real(q)],[imag(p);imag(q)]);hold on;axis equalelsea=(2*p+q)/3; % 求出从p 到q 的1/3 处端点ab=(p+2*q)/3; % 求出从p 到q 的2/3 处端点bc=a+(b-a)*exp(pi*i/3);%koch(p, a, n-1); % 对pa 线段做下一回合koch(a, c, n-1); % 对ac 线段做下一回合koch(c, b, n-1); % 对cb 线段做下一回合koch(b, q, n-1); % 对bq 线段做下一回合end(2)Sierpinski三角形function sierpinski(a,b,c,n) % a、b、c为三角形顶点,n为迭代次数if (n==0)fill([real(a) real(b) real(c)],[imag(a) imag(b) imag(c)],'b');% 填充三角形abchold on;axis equalelsea1=(b+c)/2;b1=(a+c)/2;c1=(a+b)/2;sierpinski(a,b1,c1,n-1);sierpinski(a1,b,c1,n-1);sierpinski(a1,b1,c,n-1);end(3)树木花草function grasstree(p,q,n) % p、q分别为树木花草始末复坐标,n为迭代次数plot([real(p);real(q)],[imag(p);imag(q)]);hold on;axis equalif(n>0)a=(2*p+q)/3;b=(p+2*q)/3;c=a+(b-a)*exp(pi*i/6);%d=b+(q-b)*exp(-pi*i/6);%grasstree(a,c,n-1);grasstree(b,d,n-1);endend5.主要输出:指令:koch(0,1,5); soerpinski(0,1,exp(pi*i/3),5); grasstree(0,i,5);Koch曲线Sierpinski三角形树木花草6.实验结论:以上图案的局部形状与原本图形用某种自相似性,这正是分形的特点。
MATLAB在材料科学中的运用(doc 14页)(正式版)

MATLAB在材料科学中的应用举例摘要本文通过介绍MATLAB软件在材料科学中的运用,体现出了MATLAB语言的特点以及强大的图像处理能力和其丰富的工具箱给用户带来的方便、快捷的运算处理数据的能力。
加之其以矩阵为最小的单位,使其更易懂、易学。
在正文中,首先采用L系统与迭代函数系统(IFS)分形绘制方法,通过数学实验的形式绘制分形植物,模拟的分形植物细节丰富,形态生动逼真,体现出了MATLAB 在绘图与函数处理中的优势。
接着介绍了其在聚合物改性水泥砂浆的线性回归研究中的作用。
最后,通过MATLAB在结构化学的应用,证实了MATLAB精确的数值与符号运算能力,强大的作图与拟合功能,在工程技术领域应用广泛。
最后,每个人在这次课程设计完成后,谈了一下在学习、和课程设计中的感受,觉得通过对MATLAB的学习,让我们了解到了数学并不仅仅是传统的数学,更值得我们去开发和专研。
关键词:MATLAB 材料科学分形植物课程设计数学引言MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的一款优秀的数学计算软件,其强大的数值计算能力和数据可视化能力令人震撼。
其主要包括MATLAB和Simulink两大部分。
到今天其已发展到R2011B版本,是应用数学、信息与计算科学等专业本科生和研究生必须掌握的基本技能。
其主要具有5项功能,数值计算功能、符号计算功能、图形与数据可视化功能、可视化建模仿真功能、与其他环境联合编程的功能。
这些功能让其在各个领域都能起到强大的作用。
材料科学是研究材料的组织结构、性质、生产流程和使用效能,以及它们之间相互关系的科学。
材料科学是多学科交叉与结合的结晶,是一门与工程技术密不可分的应用科学。
中国的材料科学研究水平位居世界前列,有些领域甚至居于世界领先水平。
1 M A T L A B分形植物模拟1.1 L系统与迭代函数系统1.1.1 L系统L系统是美国生物学家Lindenm ayer1968年为模拟生物形态而设计的描述植物形态与生长的方法。
分形植物的模拟仿真及其分形维数的研究

分形植物的模拟仿真及其分形维数的研究邓永菊;王世芳;吴涛【摘要】基于分形物整体与局部的自相似性与自复制性的特征,采用随机线性迭代函数算法,利用计算软件mathematica 7.0成功模拟了蕨叶和分形树的生成过程;另外还采用计盒数法,通过软件编程分别计算出蕨叶和分形树的分形维数分别为1.45和1.52,所得结果与在二维空间中分形物体的分形维数在1~2之间的结论相一致.【期刊名称】《华中师范大学学报(自然科学版)》【年(卷),期】2010(044)004【总页数】5页(P585-589)【关键词】分形;计盒数法;随机线性迭代函数算法;分形维数;mathematica 7.0【作者】邓永菊;王世芳;吴涛【作者单位】湖北第二师范学院,物理与电子信息学院,武汉,430205;湖北第二师范学院,物理与电子信息学院,武汉,430205;武汉工程大学,理学院,武汉,430073【正文语种】中文【中图分类】O41分形最初是由美国学者Mandelbrot[1]首先提出的,分形理论的真正发展起来才30余年,在这期间得到了突飞猛进的发展,并引起了越来越多的学者和研究者的注意和兴趣,极大地推动了非线性学科的发展.分形几何理论的应用己遍及生物学、物理、化学、材料科学、图像学、生物与医学、油藏、土壤等自然科学领域以及经济、人文等社会科学领域,展现了令人瞩目的应用前景,解决了许多传统理论和方法无法解决的问题,为现代科学研究提供了新的手段[2-5].欧氏几何认为空间的维数是整数,其描述的图形的边界都是规则的且可以用一定的解析式表示,例如直线、平面、球或立方体等,他们的维数分别为1维、2维和3维.对于自然界中存在大量分形物体——枝叶茂盛的树木、肥沃的土壤、弯弯曲曲的海岸线、纵横交错的血管,令人眼花缭乱的满天繁星、千姿百态的云彩、各种各样的多孔介质等等,它们的局部和整体存在统计意义上的自相似性,它们的维数也不再为整数,而是分数,我们称之为分维数.产生分形图形的方法有L系统、随机线性迭代函数系统、复分形图生成,粒子系统模型、随机插值法等等[4-9].其中L系统缺乏质地感或纹理感,以画线编程实现,编程难度大;复分形图通过逃逸时间算法画点来完成,画出的图象更具有艺术感,编程复杂;粒子系统模型和随机插值法均有编程难度大的缺点.近年来,虽有不少研究者基于L系统的植物图像进行了模拟仿真,大多数都是采用VC与VB语言编写的,编程工作量大,而且没有给出植物的分形维数[10-11];张峰刚[12]基于随机线性迭代函数系统(Iterated Function System,简称IFS)利用VC++编程模拟了分形树的生成,但是编程复杂且他们并没有计算出分形树的分形维数.本文利用Mathematica编程方便、简单,计算速度快等优点,采用随机线性迭代函数系统算法来生成植物的分形图形,并通过计盒数法分别计算出蕨叶和分形树的分形维数分别为1.45和1.52,所得结果与在二维空间中分形物体的分形维数在1~2之间的结论相一致[13-14]. 随机线性迭代函数系统最早是由 Hutchinson于1981年提出的[15],是分形几何学的一个重要分支.IFS是以仿射变换为框架,根据几何对象的整体与局部具有自相似结构,经过迭代而产生的.其基本思想为首先选定一个收缩变换的集合(即一个IFS 代码),然后从一个任意点开始,从集合中随机选择一个变换应用于该点,把它变换到另一点;再随机选择另一个变换并应用于新的点,再产生新的点;如此继续.所有这些点的集合,在屏幕上画出来的图形,被称为IFS的吸引子.仿射变换的数学表达式为[8,16]:式中,w代表仿射变换;xn和yn是变换前图形的坐标值,xn+1和yn+1是变换后图形的坐标值;ai,bi,ci,di,ei,fi是仿射变换系数;ri为仿射变换被调用的概率.首先产生[0,1]均匀分布的随机数 r,以下面的分段函数形式进行迭代,迭代次数为n=50000,起始点位置 x0=0,y0=0.根据方程(1),可以确定分形蕨叶的仿射变换系数(即 IFS码):算法与步骤为:①生成[0,1]均匀分布的随机数r;②分配四个仿射变换的概率空间,分别为[0,0.01],(0.01,0.08],(0.08,0.15],(0.15,1];③判断随机数落入的概率区间,并调用相应的仿射变换所具有的 IFS码值,赋给相应的参数ai,bi,ci,di,ei,fi;④根据仿射变换关系式(2)计算变化后的xn+1,yn+1,在(xn+1,yn+1)处画一点;⑤循环执行步骤①~④,并将上次计算出的结果 xn+1,yn+1值作为这次的 xn,yn 值参加计算.根据上面算法利用mathematica 7.0编写程序代码,画出如下图1所示蕨叶的分形图.从图1中,我们看出由IFS码绘出蕨叶形象、逼真.分形维数是定量表示自相似随机分形物体的最基本物理量,在实际工程中往往需要计算分形维数.下面我们通过计盒数法[1-4]确定图1中蕨叶的分形维数.较简单的测定分形生成物分形维数的方法是把所研究的区域划分为一定尺寸ε的正方形小格子,然后计算生成物所占的格子数 N(ε).改变格子的大小ε,又得到一个新的 N(ε)值以此类推,最后就可以找到 N(ε)与ε之间存在一定的标度关系:由此看出,直线的斜率就是其分形维数.对分形图形或图像来说,分形维数表征了分形图形所蕴含信息的多少,因此分形维数的计算具有重要的意义.为了定量计算蕨叶的分形维数,需要在蕨叶图形上加网格,如图2所示.设每个网格(盒子)的边长为ε,边长的倒数δ=1/ε.图2(a)~(e)每个盒子的边长分别为3/8,1/4,1/6,1/8,1/10,边长的倒数δ对应为8/3,4,6,8,10,然后分别数出每个网格中占有一个或一个以上点的盒子数目为N=7,15,27,39,58.以lnδ为横坐标、lnN(δ)为纵坐标画出这5个数据点,并采用最佳线性拟合的方式(其拟合直线方程式为 y=1.45x+0.69),计算出拟合直线的斜率,即为蕨叶的分形维数Ds=1.45,如图3所示.设二维分形树以下面的分段函数形式进行迭代,迭代次数为 n=105,起始点位置x0=0,y0=0.同样利用mathematica 7.0编写程序,模拟分形树的生成,如图4所示.依照前面相同方法,用计盒法求出分形树的分形维数为Ds=1.52,如图5(a)-(d)及图6所示.植物是自然界的重要组成部分,根据植物的形态结构与特征,植物的生长可以看作是植物细胞按一定的规律不断发育、分裂的过程,这种按某种规律分裂的过程可以近似地看作为递归、迭代过程,这与分形的产生极为相似.因此在这种意义上说,可以认为一种植物对应一个迭代函数系统.从蕨叶的生成和分形树的形成可以看出,由IFS绘出的分形图形具有无穷细微的自相似结构,能对客观事物作出准确的反映.本文利用数学软件Mathematica具有内容丰富、功能强大、操作方便简单、界面友好等突出优点,采用随机线性迭代函数系统算法成功地模拟了蕨叶以及分形树的生成,并分别计算了它们的分形维数为1.45和1.52,这与在二维空间中分形体的分形维数0<Ds<2,在三维空间中分形物体的分形维数0<Ds<3结论相一致[13-14].【相关文献】[1]Mandelbrot B B.The fractal geometry of nature[M].San-Franciso:Freeman,1982:23-57.[2]谢和平,张永平,宋晓秋,等.分形几何—数学基础与应用[M].重庆:重庆大学出版社,1991.[3]辛厚文.分形理论及其应用[M].合肥:中国科学技术出版社,1993.[4]Kaye B H.分形漫步[M].徐新阳,康雁,陈旭,等译.沈阳:东北大学出版社,1994.[5]孙敏,马蔼乃,毛善君.3DGIS中树的表达与可视化的研究[J].计算机辅助设计与图形学学报,2001,10(13):901-905.[6]陈昭炯.基于L—系统的植物结构形态模拟方法[J].计算机辅助设计与图形学学报,2000,8(12):571-574.[7]孔勇,璩柏青.L系统在植物形态模拟中的应用[J].农机化研究,2007(4):136-138.[8]孙博文.分形算法与程序设计—Visual C++实现[M].北京:科学出版社,2004.[9]齐东旭.分形及计算机生成[M].北京:科学出版社,1994.[10]袁杰,刘大昕.基于L系统的植物图像计算机模拟[J].应用科技,2002,29(11):4-46.[11]郑达,胡德婷,何兴恒.基于随机系统的三维分形树算法和实现[J].计算机应用,2007,27:100-103.[12]张峰刚,颜国明,薛青.三维树木的计算机模拟[J].仿真学报,2006(1):407-413[13]Yu Bo Ming,Li Jian Hua.Some fractral characters of porous media[J].Fractrals,2001(9):365-372.[14]Yu Bo Ming.Fractral character for tortuous streamtubes in porous media[J].Chin Phys Lett,2005,22(1):158-160.[15]Hutchinson JE.Fractal and self-similarity[J].Indiana Univ Math J,30:713-749.[16]Enns R H,McGuire G C.Nonlinear Physics with Mathematica for Scientists and Engineers[M].Berlin:Birkhauser,2001:83-89.Abstract:In this paper,based on the characteristic of self-similarity and self-replicability for ensemble or local of fractal,the fractral fern and the fractral tree are successfully simulated by means of random linear iterative iteration function algorithm by mathematica7.0.Futhermore,the box counting method is applied to investigate the fractal structure and the fractal dimension for the fractral fern and the fractral tree are determined to be 1.45 and 1.52,respectively.This is consistant with the result of the fractral demension between 1 and 2 for two dimensions.Key words:fractral;the box counting method;random linear iteration function algorithm;the fractal dimension;mathematica 7.0。
matlab分形

由生成元产生的分形是一种规则分形,是数学 家按一定规则构造出来的,相当于物理中的模型。 这类图形的构造方式都有一个共同的特点:
最终图形 F 都是按照一定的规则 R 通过 对初始图形 F0 不断修改得到的。
最具代表性的图形有Koch雪花曲线、分形树
●
Koch雪花曲线:
给定一条直线段F0,将该直线三等分,并将中 间的一段用以该线段为边的等边三角形的另外两边 代替,得到图形F1,然后,再对图形F1中的每一小 段都按上述方式修改,以至无穷。则最后得到的极 限曲线
F lim Fk
k
即是所谓的Koch曲线。
Koch曲线的修改规则R是将每一条直线段F0用 一条折线F1替代,称F1为生成元。
生成Koch曲线的Matlab程序
clear clf new=[1 0]; kmax=3; for k=1:kmax old=new; n=length(old)-1; for m=0:n-1;
end u=[uuu]; plot(u(:,1),u(:,2)) axis([-.5,.5,0,1])
end
二、由I FS (迭代函数系)所生成的分形图形 I FS迭代是生成分形图形的另一种方法。IFS迭 代的一般算法是:给定平面上的一组仿射变换 wi
x ai wi y ci bi x ei , i 1, 2, n di y fi
比如,当 z0 1时,我们可以依次迭代出:
z1 = f(1.0) = 1.0^2 - 0.75 = 0.25 z2 = f(0.25) = 0.25^2 - 0.75 = -0.6875 z3 = f(-0.6875) = (-0.6875)^2 - 0.75 = -0.2773 z4 = f(-0.2773) = (-0.2773)^2 - 0.75 = -0.6731 z5 = f(-0.6731) = (-0.6731)^2 - 0.75 = -0.2970 ……
分形图之matlab实现

分形图之matlab实现1. Mandelbrot集function Mandelbrot(res,iter,xc,yc,xoom)%Mandelbrot% res是目标分辨率,iter是循环次数,(xc,yc)是图像中心,xoom是放大倍数x0=xc-2/xoom;x1=xc+2/xoom;y0=yc-2/xoom;y1=yc+2/xoom;x=linspace(x0,x1,res);y=linspace(y0,y1,res);[xx,yy]=meshgrid(x,y);z=xx+yy*1i;C=z;N=zeros(res,res); %初始化N,最终根据N,对各点进行染色tic %显示tic和toc间的程序运行时间for k=1:iterz=z.^2+C; %对空间上每点都进行迭代N(abs(z)>4)=k; %逃逸半径为4,诺某点逃逸,记录逃逸时间k,未逃逸则时间为0 z(abs(z)>4)=0;C(abs(z)>4)=0;endimshow(N,[]);tocend>>Mandelbrot(512,100,0,0,1)>>Mandelbrot(512,128,-1.478,0,300)2.Julia集function Julia(c,res,iter,xc,yc,xoom)%Julia集%c为参数, res是目标分辨率,iter是循环次数,(xc,yc)是图像中心,xoom是放大倍数x0=xc-2/xoom;x1=xc+2/xoom;y0=yc-2/xoom;y1=yc+2/xoom;x=linspace(x0,x1,res);y=linspace(y0,y1,res);[xx,yy]=meshgrid(x,y);z=xx+yy*1i;N=zeros(res,res);C=c*ones(res,res);for k=1:iterz=z.^2+C;N(abs(z)>2)=k;C(abs(z)>2)=0;z(abs(z)>2)=0;endcolormap jet;image(x,y,N);axis square;end>>Julia(i,512,200,0,0,1)>> Julia(i,512,200,0,0,2000)>>Julia(0.1+0.7i,512,200,0,0,1)>>Julia(-0.8-0.21i,512,200,0,0,1)。
基于MATLAB的分形仿真研究

换 系数 (, de ) ab ,,f和一 个 概 率 () 组 成 了 IS算 法 关 键 的部 分 即 , p便 F IS码 。 般 来 讲 ( 的 概率 P取 决 于 仿射 变换 字 图 的 面积 , 图 面 F 一 1 ) 子 积 越 大 .此 子 图 所 对 应 的 仿 射 变 换 系 数 被 选 中 的概 率 就 越 大 , 也
Ab ta t e c n e o n sd a n r ca g a h b s g MATL a g a e A ei so e u i lf ca p t r swi e - i lr s r c : e t rp i ti rwi g f t r p y u i Th a l n B A ln u g 、 sre fb a t u r tl at n t sl s f a e h f mi i at y
就 是 此 子 图对 应 的 概 率 越 大f,1 3 。 4
立 了分形几何理论 f1 1,分形就是那些没有特征长度 的图形 的总 称 。若 称集 合 F为 分 形集 合 , 大 的 特 性就 是 自相 似 性 。 定性 F最 确
自相 似 分 形 几 何 构 造 : 始 于 一 个 指 定 的 几 何 形 状 , 为 初 始 元 。 开 称 然 后 使 用 一 种模 型代 替 初 始 元 的 每 部 分 , 模 型 称 为 生 成 元 。 该
f rt rr y lo nd Sa pe rnc ,i iae r sa c fBi og ,ats cdei ed, n O o o hepo ta a fl p aa e m tt ee rh o ol y a rit s i gn f l a d S n. i
维普资讯
本 目 任 辑: 桂 栏 责编 李 瑾
基于MATLAB实现分形图形的绘制论文

目录前言 (1)第一章 MATLAB介绍 (2)1.1 MATLAB简介 (2)1.2 MATLAB语言 (2)1.2.1 创建向量、向量元素的访问: (2)1.2.2 创建矩阵、矩阵元素的访问 (3)1.2.3 流程控制 (4)1.3 MATLAB语言的传统优点 (5)第二章分形入门知识 (6)2.1 分形理论 (6)2.2 分形几何观及其应用 (7)第三章 Koch雪花的绘制 (7)3.1 von Koch曲线简介 (8)3.2 Koch雪花算法设计 (8)第四章 Frac_tree绘制 (11)第五章 Mandelbort集的绘制 (12)5.1 Mandelbort集简介 (13)5.2 Mandelbort集算法设计 (13)第六章 Julia集的绘制 (17)6.1 Julia集简介 (18)6.2 Julia集的算法设计 (18)6.3 Julia集与Mandelbort集 (20)第七章花篮簇的绘制 (22)总结 (23)主要参考文献: (23)前言分形是描述不规则几何形态的有力工具。
不言而喻,不规则的几何形态在我们的周围处处可见,诸如花草、山脉、烟云、火焰等举目皆是。
至于微观世界的复杂物质结构,宏观世界浩瀚天体的演变,更展现出了层出不穷的不规则几何形态,它们往往都是分形几何的研究对象。
大自然向人类展示其美丽多变形态的同时,也提出了难以回答的询问:怎样描述复杂的自然表象?恰恰是分形几何学,它把自然形态看作是具有无限嵌套层次的精细结构,并且在不同的尺度下保持某种相似的属性,于是在变换与迭代中得到描述自然形态的有效方法。
分形的研究离不开计算机。
如果不是计算机图形图像处理功能的增强,不能想象怎样才能直观地看到Julia集和Mandelbort集的精细结构,更不能想象可以产生具有无限细结的自然景物和高度真实感的三维动画。
反过来,分形理论与方法又极大地丰富了计算机图形学内容,甚至分形的思想会在计算机科学的发展上产生一定的影响。
实验三MATLAB的图形功能于分形共73页文档

▪
28、知之者不如好之者,好之者不如乐之者。——孔子
▪
29、勇猛、大胆和坚定的决心能够抵得上武器的精良。——达·芬奇
▪
30、意志是一个强壮的盲人,倚靠在要使整个人生都过得舒适、愉快,这是不可能的,因为人类必须具备一种能应付逆境的态度。——卢梭
▪
27、只有把抱怨环境的心情,化为上进的力量,才是成功的保证。——罗曼·罗兰
实验三MATLAB的图形功能于分形
11、获得的成功越大,就越令人高兴 。野心 是使人 勤奋的 原因, 节制使 人枯萎 。 12、不问收获,只问耕耘。如同种树 ,先有 根茎, 再有枝 叶,尔 后花实 ,好好 劳动, 不要想 太多, 那样只 会使人 胆孝懒 惰,因 为不实 践,甚 至不接 触社会 ,难道 你是野 人。(名 言网) 13、不怕,不悔(虽然只有四个字,但 常看常 新。 14、我在心里默默地为每一个人祝福 。我爱 自己, 我用清 洁与节 制来珍 惜我的 身体, 我用智 慧和知 识充实 我的头 脑。 15、这世上的一切都借希望而完成。 农夫不 会播下 一粒玉 米,如 果他不 曾希望 它长成 种籽; 单身汉 不会娶 妻,如 果他不 曾希望 有小孩 ;商人 或手艺 人不会 工作, 如果他 不曾希 望因此 而有收 益。-- 马钉路 德。
在MATLAB平台下实现DLA分形聚集生长的模拟

第30卷 第1期西南师范大学学报(自然科学版)2005年2月Vol.30 No.1Journal of S outhwest China Normal University (Natural Science )Feb.2005文章编号:10005471(2005)01008304在MAT LAB 平台下实现DLA 分形聚集生长的模拟①高 睿1, 谢淑云2, 陶继东211武汉大学土建学院,湖北武汉430072;21中国地质大学地球科学学院,湖北武汉430074摘要:简要概述了最具代表性的分形结构———扩散限制凝聚(Diffusion 2Limited 2Aggregation ,DL A )模型的生长规则、主要性质,给出了模型模拟分形生长的算法,在MA TL AB615平台上进行了程序设计,在Windows98/2000/XP 下实现了DL A 模型模拟生长的动态过程.关 键 词:DL A 模型;分形生长;MA TL AB 平台中图分类号:O469;TP391177文献标识码:A1981年,美国密捷安大学Witten 和Sander 开创性地提出了一个扩散限制凝聚(Diff usion 2Limited 2Aggregatio n )的分形生长模型[1],简称DL A 模型.最初该模型提出时主要是为了研究悬浮在大气中的煤灰、金属粉末或烟尘扩散的凝聚问题.后来受到不同领域的学者重视,被引入不同的学科,用来解释各种与分形形态有关的生长和凝聚现象.1 DLA 分形生长DL A 模型采用了在晶格原点上置一个初始粒子作为种子,以该点为圆心(原点),r 为半径作一个大圆.在该圆附近随机产生一个微粒在圆上作近似于Brown 运动的随机行走,即以1/4的概率向上下左右方向行走.若微粒与种子颗粒相碰,则令其附着于种子微粒之上,与之结合形成凝聚集团;若微粒行走到圆的边界或离开这个圆,令其被边界吸收而消失,接着再随机地产生第二个微粒并重复以上步骤,直至附着于凝聚集团或被边界吸收.如此不断地进行,当种子集团长大到一定程度后,可以发现,它就形成了以种子微粒为中心的无规分叉图形(图1).图1 DLA 集团示意图Fig 11 The Sketch Map of DLA Cluster DL A 模型的主要性质和特点是:这类分形结构在形成过程中都遵从可动边界的拉普拉斯方程,以凝聚生长为例,凝聚粒子在拉普拉斯浓度场中作无规扩散运动,生长集团的界面具有复杂的性质和不稳定的性质,生长过程是一个远离平衡的动力学过程,是一个非线性的、非平衡态的进化过程.可以说,DL A 模型的出现,深化了人们对非平衡生长现象的认识,吸引了大批数学、物理、化学、生物科学家投入其中,研究有关物理的、化学的、医学的生长现象,并已经取得了令人鼓舞的进展[2].尽管自然界中的分形生长现象屡见不鲜,但是生长过程的复杂程度众所周知,要想建立起理想的动力学方程来研究分形生长目前还没有统一的定论,然而,通过计算机模拟分形生长过程,可以得到许多有关DLA 团簇(cluster )构造的结果,已经成为时下研究其物理机制的一种重要手段[3].同时,使用计算机模拟还可以随意设定或改变各种参数,而①收稿日期:20040426基金项目:国家自然科学基金重点资助项目(40373003,49633120);国土资源部自由探索科技资助项目(2000401).作者简介:高 睿(1975),男,湖北鄂州人,讲师,主要从事土木建筑结构和地理信息系统研究.且编写的程序能够自动执行、完成大量繁琐的工作,其方便、快捷的运行特点得到了广泛的认同.计算机模拟微粒聚集生长过程有许多研究,除了Witten 和Sander 开创性地提出的DLA 模型,后来又有许多研究者在此基础上提出了各种改进模型,也有各种不同的实现方法[4].本文根据经典的DL A 模型,用功能强大的快速开发工具MA TL AB615实现了DLA 模型的动态生长过程,并在Windows98/2000/XP 运行,效果良好.2 DLA 模型分形生长的计算机模拟选取一个L ×L 的正方形点阵,在该平面中央设置一固定粒子作为“种子”.程序开始时,调用随机函数rand 在平面内随机地产生一个粒子,该粒子以布朗运动方式在平面上作无规则运动.产生的粒子与“种子”相碰并附着于“种子”上,形成粒子簇;如此重复,直至在点阵中央形成一个树枝状的凝聚体.下面给出了这一DL A 模拟分形生长算法的MA TLAB 源代码.f unction DL Amodel%Fractal growt h modeling by DLAL =151;axis ([0L 0L ])set (gcf ,‘color ’,‘w ’) %将图形背景设置为白色Xhalf =floor (L/2)+1;Yhalf =Xhalf ;hold onX =sparse (L ,L );X (xhalf ,yhalf )=1;%设定“种子”位置[i ,j ]=find (X );plot hdl =plot (i ,j ,‘b.’);axis offaxis squarep =-1:1;Times =15000;%设定随机产生粒子的个数for count =1∶Times sita =rand 323pi ; %生成一个随机点R =floor (L/2);kx =floor (Xhalf +R 3cos (sita ));ky =floor (Yhalf +R 3sin (sita ));plot2=plot (kx ,ky ,‘r ’);set (plot2,‘marker ’,‘d ’,‘markersize ’,8)drawnow %动态演示随机产生粒子的运动模式flag =0;[i ,j ]=find (X );lr =lengt h (i );while kx <L -1&ky <L -1&kx >1&ky >1&flag ==0, N =sum (sum (X (kx +p ,ky +p )));%统计与随机粒子相邻的“种子团簇”粒子的个数 if N >0 X (kx ,ky )=1; flag =1; else48西南师范大学学报(自然科学版) 第30卷 ran =rand ; %布朗运动控制 if ran >2/3 kx =kx +1; elseif ran <1/3 kx =kx -1; end ran =rand ; if ran >2/3 ky =ky +1; elseif ran <1/3 ky =ky -1; end set (plot2,‘xdata ’,kx ,‘ydata ’,ky ); end endcla ;[i ,j ]=find (X );plot (i ,j ,‘b.’)drawnowend 图2为选择L =151,Times =15000时程序运行的结果,其中图2a 为模拟生长1min 的结果,图2b 为模拟生长5min 的结果,图2c 为程序运行完毕后得到的图形.从图中可以清楚地看出DLA “枝杈”不断“长大”的过程.在具体计算模拟时,因最初选择的方形点阵大小有限,设定随机参加运动的粒子总数范围在几千到几万,程序中参数Times 选择最好小于1000000为宜.图2 DLA 模拟分形生长图形(L =151,Times =15000)Fig 12 The Sketch Map of Fractal Growt h Simulations3 模拟结果讨论(1)本程序在Windows98/2000/XP 下运行良好,操作简便直接在MA TL AB 命令窗口下输入DL Am 2odel 字样按Enter 键即可观看其动态生长过程.58第1期 高 睿,等:在MA TL AB 平台下实现DLA 分形聚集生长的模拟68西南师范大学学报(自然科学版) 第30卷(2)特别应当指出的是,本算法的独特和区别于其他模拟方法的地方在于使用了MA TL AB中的sparse命令创建了一个稀疏矩阵,便于存储“种子”团簇的位置,同时有利于统计随机行走粒子四周相邻位置处是否存在“种子团簇”,大大方便了程序编写与计算,也极大地节省了程序运行的时间.通过对比研究,对于上述模拟,本算法要优于经典的模拟算法.(3)在本模拟过程中,由于粒子团簇的尺寸远小于点阵的尺寸,随机产生的粒子都在远处,它们的随机运动大多先与伸展在外面的枝杈粘附,较难进入凝聚体的内部,这一点从图2可以很清楚的看出.(4)本程序还有许多不够完善的地方,如果能在模型中进一步考虑扩散粒子的粘附几率、反应几率、表面粗糙度以及各项异性的影响等等,那么模拟结果可能会更加丰富多彩,也能进一步的探讨DLA团簇的分形与多重分形性质.参考文献:[1]Witten T A,Sander L M.Effective Harmonic Fluid Approach to low Energy Properties of One Dimensional QuantumFluids[J].Phys Rev Let,1981,47:14001408.[2] Stanley H E.Two2Dimensional Pdymers abd Conformal Invariance[J].Physica A,1990,23:168172.[3] 杨展如.分形物理学[M].上海:上海科技教育出版社,1996.[4] 敖力布,林鸿溢.分形学导论[M].呼和浩特:内蒙古人民出版社,1996.Simulation for the Fractal AggregationG row th on the Platform of MAT LAB615GAO Rui1, XIE Shu2yun2, TAO Ji2dong211Faculty of Civil Engineering,Wuhan University,Wuhan Hubei430072,China;21Faculty of Earth Science,China University of Geos ciences,Wuhan Hubei430074,ChinaAbstract:This paper first described t he const ruction regulations and major properties of Diff usion2limited2 aggregatio n model(DL A model),which is a typical fractal growt h model.And t hen one algorit hm to real2 ize t he dynamic growt h process was int roduced and complemented on t he MA TL AB615platform in Win2 dows98/2000/XP.K ey w ords:DL A model;fractal growt h;MA TLAB platform责任编辑 潘春燕 。
MATLAB分型植物的模拟

目录1引言 (1)2迭代函数系统和L-系统 (1)2.1迭代函数系统原理 (1)2.2L-系统原理 (1)3分形植物模拟 (2)3.1在MATLAB中的模拟 (2)3.2L系统的模拟 (5)3.3迭代函数系统与L系统的结合 (7)参考文献 (8)1引言随着计算机技术的发展,分形几何成了计算机图形学的一个分支,它以分形几何学为数学基础构造自相似的几何结构,借助于计算机图形学的支持模拟山脉、河流、地貌、云彩、植物等,产生人力所无法绘制的绚丽图形,达到对自然景物的逼真模拟。
自然场景的模拟在工程设计,如道路桥梁设计、城市规划、多媒体电影以及电子游戏中越来越受到重视。
植物,尤其是树木,作为自然场景中必不可少的元素,是计算机模拟的重要对象。
自然界中树的种类繁多,形态各异,计算机要模拟出逼真的图像具有一定的难度,这也给计算机图像模拟带来了新的研究课题。
当前典型的分形植物模拟方法有两种:L-系统和迭代函数系统,但L-系统需先确定生成规则,简洁但不够灵活,且难于编程控制;迭代函数系统中仿射变换的确定较复杂,而且不能描绘细节。
因此,单独使用这两种算法并不是最好的选择。
而将L-系统的字符串替换思想和递归算法相结合,从而找到一种能生动逼真地模拟植物形态的编程方法。
2迭代函数系统和L-系统2.1迭代函数系统原理迭代函数系统(Iterated Function System)是分形绘制的典型重要方法。
其采用确定性算法与随机性算法相结合的办法生成植物杆茎或叶片等分形图。
“确定性”指用以迭代的规则是确定性的,它们由一组仿射变换(如R1,R2,R3等)构成;“随机性”指迭代过程是不确定的,即每一次究竟迭代哪一个规则是随机性的,设最终要生成的图形(植物形态图)为M,它要满足集合方程:M=R1∪R2∪…∪RN。
公式的含义是,随机地从Ri(i=1,…,N)中挑选一个迭代规则迭代一次,然后再随机地在Ri(i=1,…,N)中选一个规则迭代一次,不断重复此过程,最后生成的极限图形M就是欲求的植物形态图。
Matlab实验报告:分形迭代

实验报告学院:微固学院姓名:梁孝亿学号:201422030116分形迭代一、实验目的1.了解分形几何的基本情况;2.了解通过迭代方式产生分形图的方法;3.了解matlab软件中简单的程序结构;4.掌握matlab软件的基本用法;二、问题描述几何学研究的对象是客观世界中物体的形状。
传统欧氏几何学的研究对象,都是规则并且光滑的,比如:直线、曲线、曲面等。
但客观世界中物体的形状,并不完全具有规则光滑等性质,因此只能近似当作欧氏几何的对象,比如:将凹凸不平的地球表面近似为椭球面。
虽然多数情况下通过这样的近似处理后,能够得到符合实际情况的结果,但是对于极不规则的形态,比如:云朵、烟雾、树木等,传统的几何学就无能为力了。
如何描述这些复杂的自然形态?如何分析其内在的机理?这些就是分形几何学所面对和解决的问题。
三、背景知识介绍分形几何的概念是美籍法国数学家曼德尔布罗特(Mandelbrot)于1975年首先提出的,但最早的工作可追朔到1875年,德国数学家维尔斯特拉斯(Weierestrass)构造了处处连续但处处不可微的函数,集合论创始人康托尔(Cantor,德国数学家)构造了有许多奇异性质的康托尔三分集。
1890年,意大利数学家皮亚诺(Peano)构造了填充空间的曲线。
1904年,瑞典数学家科赫(Koch)设计出类似雪花和岛屿边缘的一类曲线。
1915年,波兰数学家谢尔宾斯基(Sierpinski)设计了象地毯和海绵一样的几何图形。
这些都是为解决分析与拓朴学中的问题而提出的反例,但它们正是分形几何思想的源泉。
四、实验内容本试验以迭代的方式,来体验生成分形图形的基本方法,并感受美丽的分形图案,从而对分形几何有一个直观的了解。
绘制Koch曲线、Sierpinski三角形和树木花草图形,观察这些图形的局部和原来分形图形的关系。
五、实验思路利用函数反复调用自己来模拟分形构造时的迭代过程,当迭代指标n为0时运行作图操作,否则继续迭代。
基于L系统的三维分形植物的算法及实现

BC 引言Leabharlann 植物是自然界最常见的景物, 其形状各异, 长势千姿百 态, 且结构特征性很强。鉴于植物化石研究工作、 建筑物的 配景、 视景仿真的需要, 须采用计算机生成逼真的植物图形。 但由于植物种类繁多, 形态各异, 以及它们结构的不规则性 和拟相似性, 给研究者提出很多难题。同时就当前的虚拟现 实技术而言, 不规则形体建模也是一个难点。而近年来飞速 发展起来的分形理论能较好地解决不规则形态物体的仿真 建模问题, 尤其对树类植物、 山、 水、 云等自然景观尤为适用。 将分形理论和虚拟现实技术结合起来可以生成逼真, 复杂的 自然景物。 利用分形进行植物的模拟方法有多种, 如迭代函数系统 ( U5;) 、 0 $ 系统等。前者通过选定若干仿射变换, 将整体形 态变换到局部, 并将这一过程迭代进行下去, 直到得到满意 的造型。U5; 是一套在理论上非常完美的系统。但是在植物
"#$%&’()* %+ & , -&./(.# 0#.1(2 3.245 %1 ! $ 262(4* .15 7(2 7*8#4*41(.(’%1
5678 09, :478 09
( ;<=>>? >@ A>BCDEFG, H9I9JK LK9MFGN9EO, H9PJK ;=JKQ9 ,("",( , A=9KJ) "39:;"<:: 1=F @GJ<EJ? E=F>GO 9N JIJCEFI E> GFN>?MF E=F B>IF?9KR JKI N9BD?JE9>K >@ 9GGFRD?JG $ N=JCFI >STF<EN3 UE <JK CG>ID<F ?9M9KR JKI <>BC?9<JEFI KJEDGF N<FKFGO SO <>BS9K9KR E=F @GJ<EJ? E=F>GO V9E= M9GEDJ? GFJ?9EO EF<=K>?>RO3 1=9N CJCFG DNFN E=F @GJ<EJ? E=F>GO 9KE> -./0 FKM9G>KBFKE @>G E=F NEDIO >@ C?JKEPN <>BCDEFG N9BD?JE9MF J?R>G9E=B3 1=F CJCFG @9GNE?O 9KEG>ID<FN E=F K>GBJ? J?R>G9E=BN >@ !W JKI &W @GJ<EJ? C?JKEN,JKI JKJ?ONFN E=F9G JIMJKEJRFN JKI I9NJIMJKEJRFN3 1=FK 9E C>9KEN >DE JK 9BCG>MFI J?R>G9E=B >@ &W @GJ<EJ? C?JKEN DKIFG -./0 FKM9G>KBFKE3 XO IFN<G9S9KR E=F CG>CFGEO >@ J EGFF( ND<= JN E=F NEGD<EDGF >@ E=F EGFF,E=F FQDSFGJK<F >@ E=F EGFF,E=F N=JCF >@ E=F ?FJ@ JKI N> >K) ,<>BCDEFG <JK RFKFGJEF J &W EGFF V=9<= BFFEN E=F DNFGPN IFBJKI3 4E E=F FKI >@ E=9N CJCFG,FQJBC?FN >@ &W @GJ<EJ? EGFFN JGF RFKFGJY EFI3 4KI J CGJ<E9<J? JCC?9<JE9>K 9N R9MFK3 =>?@A;,9: 5GJ<EJ? E=F>GO; &W @GJ<EJ? C?JKEN;-9GEDJ? GFJ?9EO
matlab花卉识别代码

MATLAB花卉识别代码1. 简介花卉识别是一项基于图像处理和机器学习的任务,目的是通过对花卉图像进行分析和特征提取,来自动识别花卉的种类。
MATLAB作为一种强大的数学计算和图像处理工具,提供了丰富的函数和工具箱,可以用于实现花卉识别算法。
本文将介绍如何使用MATLAB编写一个简单的花卉识别代码,以实现对花卉图像进行分类和识别。
2. 数据集准备在进行花卉识别之前,我们需要准备一个用于训练和测试的数据集。
这个数据集应包含不同种类的花卉图片,并且每个图片都要有对应的标签(即花卉种类)。
可以从公开数据集中下载或者自行收集。
3. 图像预处理在进行特征提取之前,我们需要对图像进行一些预处理操作。
这些操作包括图像读取、大小调整、灰度化、去噪等。
首先,使用MATLAB中的imread函数读取图像文件,并使用imresize函数将图像调整到统一大小。
然后,可以使用rgb2gray函数将彩色图像转换为灰度图像,以简化后续的处理过程。
接下来,可以使用滤波器函数(如medfilt2)对图像进行去噪处理,以消除图像中的噪声干扰。
这样可以提高后续特征提取的准确性。
4. 特征提取特征提取是花卉识别中非常重要的一步,它将图像转换为一组数值型特征向量,用于描述花卉图像的关键信息。
常用的特征包括颜色直方图、纹理特征、形状特征等。
在MATLAB中,可以使用imhist函数计算图像的颜色直方图,并将其作为颜色特征。
对于纹理特征,可以使用graycomatrix函数计算灰度共生矩阵,并使用graycoprops函数提取统计特征(如对比度、相关性等)。
对于形状特征,可以使用形态学操作(如腐蚀、膨胀)来提取目标物体的轮廓,并计算其面积、周长等属性。
通过将这些不同类型的特征组合在一起,可以得到一个综合描述花卉图像的特征向量。
5. 训练模型在进行花卉识别之前,我们需要训练一个分类模型。
常用的分类算法包括支持向量机(SVM)、K近邻(KNN)、决策树等。
Matlab在智能农业和精准农业中的应用

Matlab在智能农业和精准农业中的应用智能农业和精准农业是随着科技的不断进步而逐渐兴起的新型农业模式。
这两个领域的发展离不开计算机技术的支持和应用。
而Matlab作为一种专业的科学计算软件,具有强大的功能和灵活的编程特性,被广泛应用于智能农业和精准农业中。
一、Matlab在作物生长模型中的应用作物生长模型是智能农业中的一项重要技术,它通过模拟和预测作物的生长过程,为农业生产提供科学依据。
Matlab在作物生长模型的开发和应用中发挥了重要作用。
它可以通过建立数学模型来描述作物生长过程中的关键参数,如温度、湿度、光照等,利用Matlab中的数值计算和优化工具,对模型进行求解和优化。
同时,Matlab还提供了丰富的绘图功能,可以将模型的结果可视化,直观地展示作物生长的变化过程。
二、Matlab在农业数据处理中的应用精准农业需要大量的农业数据作为支撑,这些数据包括土壤信息、气象数据、作物生长数据等等。
而这些数据的处理和分析对于提高农业生产效率和决策水平至关重要。
Matlab具有强大的数据处理和分析功能,可以对农业数据进行清洗、预处理和统计分析。
同时,Matlab还可以应用机器学习和模式识别算法,对农业数据进行挖掘和建模,从而发现数据中隐藏的规律和特征,为农业生产提供决策支持。
三、Matlab在农药施用和灌溉控制中的应用农药施用和灌溉控制是精准农业中非常重要的环节,它们的合理与否直接影响着作物的生长和产量。
而Matlab可以通过建立农药施用和灌溉控制模型,对农药的使用和水资源的分配进行优化。
通过分析农田的土壤特性、作物需水量以及气象数据等因素,利用Matlab中的优化算法,确定最佳的施药和灌溉方案,实现农业生产的精确控制。
四、Matlab在农业机器人技术中的应用随着农业机械化水平的提高,农业机器人正逐渐成为智能农业的重要组成部分。
而Matlab在农业机器人技术中的应用主要体现在两个方面。
一方面,Matlab可以通过机器视觉和图像处理技术,对农田中的作物进行识别和分类,实现对农作物的精确操作和管理。
基于L系统的植物图像计算机模拟

应用[J ] . 小型微型计算机系统 , 1998 ,19 (2) :20 22. [ 5 ] 齐东旭. 分形及其计算机生成 [ M ] . 北京 :科学出版 社 , 1996. [ 6 ] 胡瑞安 ,胡纪阳 ,徐树公. 分形的计算机图像与应用 [ M ] . 北京 :中国铁道出版社 ,1995.
第 11 期 袁 杰 ,等 :基于 L - 系统的植物图像计算机模拟
·45 ·
1. 2 植物生成模型 自然界 中 景 物 有 着 许 许 多 多 极 其 复 杂 的 形
状 ,如山 、水 、云 、树 、生物等 ,表面看它们的生成过 程有一定的盲目性 ,其实是很有规则的 ,即比例自 相似性 。对这些具有分形结构的物体 ,不断显微 放大其任何部分 ,就会发现其不规则程度都是一 样的 ,这个性质称为比例性 ;按统计的观点 ,几乎 所有的分形又是置换不变的 ,即它的每一部分移 位 、旋转 、缩放等在统计的意义下与其他任意部分 相似 。这两个性质表明分形决不是完全的混乱 , 在不规则中隐藏着规则 。它同时暗示了自然界中 一切形状及现象都能以较小或部分的细节反映出 整体的不规则性 。以植物为例 ,不难推出其生长 的一般模型[4 ] .
首先从一个起始元开始 ,将迭代规则多次作 用于其上 (即用迭代规则中的 F $去替换起始元 中的每个 F) ,最后产生一个较长的命令串 ,用它 来绘图 。迭代一次 ,称作一级 (order) ,一般来说 迭代的级数不宜太高 ,通常选 2 ~8 级 ,最多 15 级。
在本演示系统中 ,要求输入角度 、起始生成 元 、迭代规则 、迭代次数后 ,系统就可以按迭代规 则生成相应的分形图形 。若调节缩放比例 ,可得 到任意尺寸大小的分形图 。
基于MATLAB的玉米株型图像分割技术

基于MATLAB的玉米株型图像分割技术作者:梁淑敏来源:《农业与技术》2012年第06期摘要:计算机视觉技术的发展使MATLAB越来越广泛的应用于农业的各个领域,在处理数字玉米图片中,为了更好的将物体与背景分割开,用对MATLAB对玉米成株株型进行分割。
成功将自然光下图像中的物体与背景分割开。
关键词:MATLAB;玉米;背景分割中图分类号:S126文献标识码:A在作物栽培和育种实践中,掌握作物株型是非常重要的。
作物株型不仅影响作物的光合效率,营养分配,抗倒性和栽培最佳密度等,而且还是农学实验的重要检测指标,因此对作物株型作精确、定量化描述有重要意义。
要对作物形态进行精确定量化描述,图像处理技术是解决此问题的一种先进方法,对图像预处理的重要方面就是对图像进行分割,克服了传统方法的效率低,准确性差等缺点。
要对作物形态进行精确定量化描述,图像处理技术是解决此问题的一种先进方法。
数字图像处理的目的是对图像进行加工和分析,为了增强图像中的有用成分,抑制噪声成分,以达到有效提取玉米株型图像中所包含的某些特征或特殊信息,因此必须用计算机视觉技术对图像进行预处理,克服了传统方法的效率低,准确性差等缺点。
模板运算可完成对图像的滤波,如图像平滑和图像锐化。
图像平滑的目的是模糊和消除噪声,平滑采用低通滤波器完成,在空域中全是正值。
图像锐化的目的增强被模糊的细节,锐化采用高通滤波器完成,在空域中,接近原点处为正值,在远离原点处为负值。
图像增强可用模版卷积完成。
下面就MATLAB在图像处理中各方面的应用分别进行介绍。
图像处理工具包是由一系列支持图像处理操作的函数组成的,是MATLAB工具包中的一种,它所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT 变换等) 、图像分析和统计、二值图像操作等。
1图像文件格式的读写和显示MATLAB提供了图像文件读入函数imread( ),用来读取如: bmp、tif、jpg、pcx、tiff、gpeg、hdf、xwd等格式图像文件;图像写出函数imwrite( ),还有图像显示函数image( )、imshow( )等等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Abstract:The paper introduces the methods of fractal Image for simulating the fractal natural plants. It adopts L
·66·
齐齐哈尔大学学报
2008 年
system and iterated function system with the Matlab functions and program. The fractal plants’ configuration is detail and lifelikeness, fractal gometric is excellence in simulating the fractal natural plants. Key words:fractal plants;L system;iterated function system;Matlab
换热器发生结垢的原因分析及处理方法
换热器是炼油厂常减压车间应用广泛的冷换设备,工厂每年因处理换热器的结垢而耗资巨大,问题严重时还会影响安全 生产的进行。根据结垢层沉积的机理,可将污垢分为颗粒污垢、结晶污垢、化学反应污垢、腐蚀污垢、生物污垢等。
1)颗粒污垢:悬浮于流体的固体微粒在换热表面上的积聚。这种污垢也包括较大固态微粒在水平换热面上因重力作用 形成的沉淀层,即所谓沉淀污垢和其他胶体微粒的沉积。
统实际上是字符串重写系统。即把字符串解释成图形,于是只要能生成字符串,也就等于生成了图形。从 一个初始串(叫做公理)记为 W 开始,将生成规则 P 多次作用于其上,最后产生一个较长的命令串,用 它来绘图。
对于 L 系统可以用较复杂的图形解释,在除了模拟植物分支拓扑结构外,还要加上线段长度和转角等 几何形状。L 系统的符号串也称“龟行图”(turtle), 即设想一只乌龟在平面上爬行,乌龟的状态用三元组 (X,Y,D)表示, 其中 X 和 Y 分别代表横坐标和纵坐标,D 代表当前的朝向。令 δ 是角度增量,h 是步 长。文中所用 L 系统的符号规定与解释:F:从当前位置向前移一步,步长为 h,同时画线;G:从当前位 置向前移一步,步长为 h,但不画线;+:从当前方向逆时针转一个给定的角度 δ; -:从当前方向顺时 针转一个给定的角度 δ;|:原地转向 180°;[:Push,将龟行图当前状态压进栈(stack);]:Pop,将图形 状态重置为栈顶的状态,并去掉该栈中的内容;A:记录状态的方向;z:记录当前的位置。 1.2 迭代函数系统(IFS)
防止结垢的技术应考虑以下几点:1)防止结垢形成;2)防止结垢后物质之间的粘结及其在传热表面的措施包括以下几个方面: 1 设计阶段应采取的措施
在换热器的设计阶段,考虑潜在污垢时的设计,应考虑如下 6 个方面:1)换热器容易清洗和维修(如板式换热器);2) 换热设备安装后,清洗污垢时不需拆卸设备,即能在工作现场进行清洗;3)应取最少的死区和低流速区;4)换热器内流速 分布应均匀,以避免较大的速度梯度,确保温度分布均匀(如折流板区);5)在保证合理的压力降和不造成腐蚀的前提下, 提高流速有助于减少污垢;6)应考虑换热表面温度对污垢形成的影响。 2 运行阶段污垢的控制
function Ltree(n);
S='F'; a=pi/8; A=pi/2; z=0; zA=[0,pi/2];
p='FF+[+F-F-F]-[-F+F+F]';
for k=2:n;
S=strrep(S,'F',p);
end
figure; hold on; for k=1:length(S);
n=2
第 24 卷第 3 期 2008 年 5 月
齐齐哈尔大学学报 Journal of Qiqihar University
Vol.24,No.3 May,2008
Matlab 分形植物模拟
丁永胜,堵秀凤,张水胜
(齐齐哈尔大学 理学院,黑龙江 齐齐哈尔 161006)
摘要:研究了利用 Matlab 软件,采用 L 系统与迭代函数系统(IFS)分形绘制方法,通过数学实验的形式绘制分
xx=zeros(N,1); yy=zeros(N,1);
for ss=1:N;
if p(1,ss)<=0.005;
[x,y]=IFS(x,y,AA(1,1),AA(1,2),AA(1,3),AA(1,4),AA(1,5),AA(1,6));
elseif p(1,ss)<=0.805;
[x,y]=IFS(x,y,AA(2,1),AA(2,2),AA(2,3),AA(2,4),AA(2,5),AA(2,6));
参考文献
[1] 李水根.分形[M].北京:高等教育出版社,2004. [2] 清源计算机工作室.MATLAB 基础及其应用[M].北京:机械工业出版社,2000. [3] 齐东旭.分形及其计算机生成[M].北京:高等教育出版社,1994. [4]] 周晓阳.数学实验与 MATLAB[M].武汉:华中科技大学出版社.2002.
形植物,模拟的分形植物细节丰富,形态生动逼真,体现了分形学在描述自然景物的独特优势。
关键词:分形植物;L 系统;迭代函数系统;Matlab
中图分类号:O241.5
文献标识码:A
文章编号:1007-984X(2008)03-0063-04
1 L 系统与迭代函数系统
1.1 L 系统 L 系统是美国生物学家 Lindenmayer 1968 年为模拟生物形态而设计的描述植物形态与生长的方法。L 系
x=0;y=0;p=rand(1,N);
AA=[0,0,0.16,0,0,0;0.85, -2.5/180*pi,0.85,-2.5/180*pi,0,1.6;…
0.3,49/180*pi,0.34,49/180*pi,0,1.6;0.3,120/180*pi,0.37,-50/180*pi,0,0.44];
5)生物污垢:除海水冷却装置外,一般生物污垢均指微生物污垢。其可能产生粘泥,而粘泥反过来又为生物污垢的繁 殖提供了条件,这种污垢对温度很敏感,在适宜的温度条件下,生物污垢可生成可观厚度的污垢层。
6)凝固污垢:流体在过冷的换热面上凝固而形成的污垢。例如当水低于冰点而在换热表面上凝固成冰。温度分布的均 匀与否对这种污垢影响很大。
elseif p(1,ss)<=0.9025;
第3期
Matlab 分形植物模拟
·65·
[x,y]=IFS(x,y,AA(3,1),AA(3,2),AA(3,3),AA(3,4),AA(3,5),AA(3,6)); else
[x,y]=IFS(x,y,AA(4,1),AA(4,2),AA(4,3),AA(4,4),AA(4,5),AA(4,6)); end xx(ss)=x; yy(ss)=y; end plot(xx,yy,'.b','markersize',2); set(gcf,'color','w') axis square off; %带概率的仿射变换函数 function [xp,yp]=IFS(x,y,r,thita,s,phi,h,k) xp=r*x*cos(thita)-s*y*sin(phi)+h; yp=r*x*sin(thita)+s*y*cos(phi)+k; return
⎡ ⎢⎣
x′⎤ y′⎥⎦
=
⎡r ⎢⎣r
cos θ cosθ
− s sinϕ s sinϕ
⎤⎡ ⎥⎦⎢⎣
x⎤ y⎥⎦
+
⎡h⎤ ⎢⎣k ⎥⎦
利用表 1 中仿射变换的参量可以生成带梗的植物叶子——分形厥叶。
IFSJ.m.程序代码设计如下:在命令窗口运行 IFSJ (n),图形结果如图 2 所示。
function [xx,yy]= IFSJ (N)
为了显示该分形产生过程,现在命令窗口运行 IFSJ (5000);IFSJ (10000);IFSJ (50000);IFSJ (100000); IFSJ (200000)得到图 2 结果。
3 结论
图 2 随机迭代生成的厥叶
由于自然景物形态复杂和不规则性,用传统的几何工具很难对其进行描述,而用分形模型却能很好地 描述自然景物。本文基于 Matlab 平台,以数学实验为手段,通过两种分形绘制方法(L 系统、IFS)分形植物, 通过实验可知分形以其独特的手段解决了整体与部分的关系问题,并利用空间结构的对称性和自相似性, 采用各种模拟真实图形的模型,使整个生成的景物呈现出细节的无穷回归的性质,丰富多彩,具有奇妙的 艺术魅力。
变换
1 2 3 4
表 1 仿射变换的参量
参数
r
S
θ
ϕ
h
0
0
0
0.16
0
0.85
0.85
-2.5 -2.5
0
0.3
0.34
49
49
0
0.3
0.37 120 -50
0
概率 k
0
0.005