数学实验迭代:分形

数学实验迭代:分形
数学实验迭代:分形

迭代:分形

姓名:

学号:

班级:数学与应用数学4班

实验报告

实验目的:以迭代的观点介绍分形的基本特性以及生成分形图形的基本方法,使读者在欣赏美丽的分形图案的同时对分形几何这门学科有一个直观的了解,并从哲理的高度理解这门学科诞生的必然,激发读者探寻科学真理的兴趣。

实验环境:Mathematica软件

实验基本理论和方法:

在19世纪末及20世纪初,一些数学家就构造出一些边界形状极不光滑的图形,而这类图形的构造方式都有一个共同的特点,即最终图形F都是按照一定的规则R通过对初始图形不断修改得到的。其中最有代表性的图形是Koch曲线,Koch曲线的构造方式是:给定一条直线段,将该直线段三等分,并将中间的一段用以该线段为边的等边三

角形的另外两条边代替,得到图形,然后再对图形中的每一小段都按上述方式修改,以至无穷。则最后得到的极限曲线即是所谓的Koch曲线。

生成元:Koch曲线的修改规则R是将每一条直线段用一条折线代替,我们称为该分形的生成元。

分形的基本特性完全由生成元确定,因此,给定一个生成元,我们就可以生成各种各样的分形图形。

Julia集绘制方法:(1)设定初值p,q,一个最大的迭代次数N,图形的分辨率的大小a,b,和使用的颜色数(如K=16)(或者给定灰度

级L);(2)设定一个上界值;(3)将矩形区域

分成的网格,分别以每个网格点,

,,,作为初值利用riter做迭代(实际上,只需对满足的初值点做迭代)。如果对所有,,则将图形的像素点用黑

色显示,否则,如果从迭代的某一步开始有,则用

modK种颜色显示相应像素(或者用相应的灰度级显示)。Mandelbrot集绘制方法:设定一个最大的迭代次数N,图形的分辨率的大小a,b,和使用的颜色数(如K=16)(或者给定灰度级L);(2)

设定一个上界值;(3)将矩形区域分成

的网格,分别以每个网格点,,,

,作为参数值利用riter做迭代(实际上,只需对的初值点做迭代),每次迭代的初值均取为。如果对所有,,则将图形的像素点用黑色显示,否则,如果从迭代的某一步开始有,则用modK种颜色显示相应像素(或者用相应的灰度级显示)。IFS迭代绘制分形:设计算机屏幕的可视窗口为

按分辨率大小的要求将分成的网格,网格点为,这里

,,

,,

用表示矩形区域,假设我们采取具有

L(如L=256)级灰度的黑白图像绘制,总共的迭代次数为N,其中落于区域中的点的个数为,再记

,,,

则像素的灰度与落于区域中的点数成正比:

,于是即给出了IFS迭代产生的分形的L级灰度图像。实验内容和步骤及结果分析:

问题一:几个经典的分形图形及其生成元。

Koch雪花曲线

其步骤是:(1)打开Mathematica软件;

(2)输入下列语句:

(3)运行。

结果如下图:

Minkowski香肠

其步骤是:(1)打开Mathematica软件;

(2)输入下列语句:

(3)运行。

结果如下图:

Sierpinski三角形

其步骤是:(1)打开Mathematica软件;

(2)输入下列语句:

(3)运行。

结果如下图:

树木花草

其步骤是:(1)打开Mathematica软件;

(2)输入下列语句:

(3)运行。

结果如下图:

问题二:定义Weierstrass函数如下:

,.

对不同的s值,画出函数的图像,观察图像的不规则性与s的关系,由此猜测Weierstrass函数图像的维数与s的关系。

其步骤是:(1)打开Mathematica软件;

(2)输入下列语句:

(3)运行。

结果如下图:

结果分析:由上图可知,当s的值越大时,图像越有规则。故Weierstrass 函数图像的维数与s的关系是s的值越大,维数越大。

问题三:编写绘制Julia集和Mandelbrot集的程序及他们的局部放大。其步骤是:(1)打开Mathematica软件;

(2)输入下列语句:

Julia集:

Mandelbrot集

(3)运行。结果如下图:

问题四:IFS迭代生成Sierpinski三角形,其程序是:

附录(源程序)见文章具体步骤.

基于分形几何的分形图绘制与分析

基于分形几何的分形图绘制与分析 摘要:基于分形几何的分形图绘制方法源于l系统、迭代函数系统ifs、复动力系统等。在运用分形原理及算法编程绘制多种分形图的基础上,重点对ifs参数进行实验分析,ifs吸引集实现了对原图形的几何变换。分形图的演变具有渐变性。 关键词:分形几何迭代函数系统分形图绘制渐变 1 分形几何学 现代数学的一个新的分支——,它是由美籍法国数学家曼德勃罗(b.b.mandelbrot)1973年在法兰西学院讲课时,首次提出了分形几何的设想。分形(fractal)一词,是曼德勃罗创造出来的,其原意具有不规则、支离破碎等意义,分形几何学是一门以非规则几何形态为研究对象的几何学。由于不规则现象在自然界是普遍存在的,因此分形几何又称为描述大自然的几何学。分形几何的诞生无论是在理论上还是在实践上都具有重要价值。 2 分形的定义 目前分形还没有最终的科学定义,曼德勃罗曾经为分形下过两个定义: (1)分形是hausdorff-besicovitch维数严格大于拓扑维数的集合。因为它把许多hausdorff维数是整数的分形集合排除在外,例如,经典分形集合peano曲线分形维数 (2)局部与整体以某种方式自相似的形,称为分形。 然而,经过理论和应用的检验,人们发现这两个定义很难包括分形

如此丰富的内容。实际上,对于什么是分形,到目前为止还不能给出一个确切的定义,正如生物学中对“生命”也没有严格明确的定义一样,人们通常是列出生命体的一系列特征来加以说明。对分形的定义也可同样的处理。 (ⅰ) 分形集合在任意小尺度下,它总有复杂的细节,或者说它具有精细的结构。 (ⅱ) 分形集合是非常不规则的,用传统的几何语言无法来描述它的局部和整体,它既不是满足某些条件的点的轨迹,也不是某些简单方程的解集。 (ⅲ) 分形集具有某种自相似形式,可能是近似的自相似或者统计的自相似。 (ⅳ) 以某种方式定义的分形集合的“分形维数”,严格大于它相应的拓扑维数。 (ⅴ) 在大多数令人感兴趣的情形下,分形集合是以非常简单的递归的方法产生的。 3 分形研究的对象 几何学的研究对象是物体的形状,在自然界中,许多物体的形状是极不规则的,例如:弯弯曲曲的海岸线,起伏不平的山脉,变化无偿的浮云,以及令人眼花缭乱的满天繁星,等等。这些物体的形状有着共同的特点,就是极不规则,极不光滑。但是,所有的经典几何学都是以规则而光滑的形状为其研究对象的,例如:初等平面几何的主要研究对象是直线与圆;平面解析几何的主要研究对象是一

几个分形的matlab实现

几个分形得matlab实现 摘要:给出几个分形得实例,并用matlab编程实现方便更好得理解分形,欣赏其带来得数学美感 关键字:Koch曲线实验图像 一、问题描述: 从一条直线段开始,将线段中间得三分之一部分用一个等边三角形得两边代替,形成山丘形图形如下 ?图1 在新得图形中,又将图中每一直线段中间得三分之一部分都用一个等边三角形得两条边代替,再次形成新得图形如此迭代,形成Koch分形曲线。 二、算法分析: 考虑由直线段(2个点)产生第一个图形(5个点)得过程。图1中,设与分别为原始直线段得两个端点,现需要在直线段得中间依次插入三个点,,。显然位于线段三分之一处,位于线段三分 之二处,点得位置可瞧成就是由点以点为轴心,逆时针旋转600而得。旋转由正交矩阵 实现。 算法根据初始数据(与点得坐标),产生图1中5个结点得坐标、结点得坐标数组形成一个矩阵,矩阵得第一行为得坐标,第二行为得坐标……,第五行为得坐标。矩阵得第一列元素分别为5个结点得坐标,第二列元素分别为5个结点得坐标。 进一步考虑Koch曲线形成过程中结点数目得变化规律。设第次迭代产生得结点数为,第次迭代产生得结点数为,则与中间得递推关系为。 三、实验程序及注释: p=[0 0;10 0]; %P为初始两个点得坐标,第一列为x坐标,第二列为y坐标 n=2; %n为结点数 A=[cos(pi/3) —sin(pi/3);sin(pi/3) cos(pi/3)]; %旋转矩阵 for k=1:4 d=diff(p)/3; %diff计算相邻两个点得坐标之差,得到相邻两点确定得向量 %则d就计算出每个向量长度得三分之一,与题中将线段三等分对应 m=4*n-3; %迭代公式 q=p(1:n—1,:); %以原点为起点,前n—1个点得坐标为终点形成向量 p(5:4:m,:)=p(2:n,:); %迭代后处于4k+1位置上得点得坐标为迭代前得相应坐标 p(2:4:m,:)=q+d; %用向量方法计算迭代后处于4k+2位置上得点得坐标 p(3:4:m,:)=q+d+d*A'; %用向量方法计算迭代后处于4k+3位置上得点得坐标 p(4:4:m,:)=q+2*d; %用向量方法计算迭代后处于4k位置上得点得坐标 n=m; %迭代后新得结点数目 end plot(p(:,1),p(:,2)) %绘出每相邻两个点得连线 axis([0 10 0 10]) 四、实验数据记录: 由第三部分得程序,可得到如下得Koch分形曲线:

MAAB计算方法迭代法牛顿法二分法实验报告

姓名 实验报告成绩 评语: 指导教师(签名) 年 月 日 说明:指导教师评分后,实验报告交院(系)办公室保存。 实验一 方程求根 一、 实验目的 用各种方法求任意实函数方程0)(=x f 在自变量区间[a ,b]上,或某一点附近的实根。并比较方法的优劣。 二、 实验原理 (1)、二分法 对方程0)(=x f 在[a ,b]内求根。将所给区间二分,在分点 2a b x -=判断是否0)(=x f ;若是,则有根2a b x -=。否则,继续判断是否0)()(

+)(0x f 0))(('0=-x x x f 设0)('0≠x f ,则=x -0x )(') (00x f x f 。取x 作为原方程新的近似根1x ,然后将1x 作为0x 代入上式。迭代公式为:=+1 k x -0x )(')(k k x f x f 。 三、 实验设备:MATLAB 软件 四、 结果预测 (1)11x = (2)5x = (3)2x =0,09052 五、 实验内容 (1)、在区间[0,1]上用二分法求方程0210=-+x e x 的近似根,要求误差不超 过3105.0-?。 (2)、取初值00=x ,用迭代公式=+1 k x -0x )(') (k k x f x f ,求方程0210=-+x e x 的近似根。要求误差不超过3105.0-?。 (3)、取初值00=x ,用牛顿迭代法求方程0210=-+x e x 的近似根。要求误差 不超过3105.0-?。 六、 实验步骤与实验程序 (1) 二分法 第一步:在MATLAB 软件,建立一个实现二分法的MATLAB 函数文件如下: function x=agui_bisect(fname,a,b,e) %fname 为函数名,a,b 为区间端点,e 为精度 fa=feval(fname,a); %把a 端点代入函数,求fa fb=feval(fname,b); %把b 端点代入函数,求fb if fa*fb>0 error('两端函数值为同号'); end

迭代与分形

实验名称:迭代与分形 专业:信息工程 班级:09级四班 姓名: 序号:29,38 提交日期:2011年4月29日 一、实验目的与要求 1.认识Fibonacci数列,体验发现其通项公式的过程; 2.了解matlab软件中进行数据显示与数据拟合的方式; 3.掌握matlab软件中plot, polyfit等函数的基本用法; 4.提高对数据进行分析与处理的能力。 二、问题描述 几何学研究的对象是客观世界中物体的形状。传统欧氏几何学的研究对象,都是规则并且光滑的,比如:直线、曲线、曲面等。但客观世界中物体的形状,并不完全具有规则光滑等性质,因此只能近似当作欧氏几何的对象,比如:将凹凸不平的地球表面近似为椭球面。虽然多数情况下通过这样的近似处理后,能够得到符合实际情况的结果,但是对于极不规则的形态,比如:云朵、烟雾、树木等,传统的几何学就无能为力了。 如何描述这些复杂的自然形态?如何分析其内在的机理?这些就是分形几何学所面对和解决的问题。 三、问题解决 (1)对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。 (2)自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。 1、程序如下: function plottrkoch(a,k)%函数,a为迭代0次的三角形的边长,k为迭代 次数

p=[0 0;a 0;a/2 a/2*sqrt(3);0 0]; n=3; A=[cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3)]; for s=1:k j=0; for i=1:n q1=p(i,:); q2=p(i+1,:); d=(q2-q1)/3; j=j+1;r(j,:)=q1; j=j+1;r(j,:)=q1+d; j=j+1;r(j,:)=q1+d+d*A'; j=j+1;r(j,:)=q1+2*d; end n=4*n; clear p p=[r;q2]; end mianji=sqrt(3)*(1+3*(1-(4/9)^k)/5)/4*a^2%计算迭代k次后的面积大小weishuD=log(4)/log(3)%计算维数 plot(p(:,1),p(:,2)) axis equal 当k=1时 当k=3时

数学实验报告——科赫分形雪花

实验报告:科赫分形雪花一、算法描述科赫分形雪花 clear n=1;p=[0 0;5,sqrt(75)]; A=[cos(pi/3), - sin(pi/3);sin(pi/3) ,co s(pi/3)]; for k=1:3 j=1; for i=1:n q1=p(i,:); q2=p(i+1,:); d=(q2-q1)/3; r(j,:)=q1; r(j+1,:)=q1+d; r(j+2,:)=q1+d+d*A'; r(j+3,:)=q1+2*d; j=j+4; end n=4*n;p=[]; p=[r;q2]; end x=p(:,1);y=p(:,2); plot(x,y) hold on clear m=1;p=[5,sqrt(75); 10 ,0]; A=[cos(pi/3), - sin(pi/3);sin(pi/3 ) ,cos(pi/3)]; for k=1:3 e=1; for i=1:m q1=p(i,:); q2=p(i+1,:); d=(q2-q1)/3; r(e,:)=q1; r(e+1,:)=q1+d; r(e+2,:)=q1+d+d*A'; r(e+3,:)=q1+2*d; e=e+4; end m=4*m;p=[]; p=[r;q2]; end x=p(:,1);y=p(:,2); plot(x,y) hold on clear n=1;p=[0,0;10, 0]; A=[cos(pi/3), - sin(pi/3);sin(pi/3) , cos(pi/3)]; for k=1:3 j=1; for i=1:n q1=p(i,:); q2=p(i+1,:); d=(q2-q1)/3; r(j,:)=q1; r(j+1,:)=q1+d; r(j+2,:)=q1+d+d*A; r(j+3,:)=q1+2*d; j=j+4; end n=4*n;p=[]; p=[r;q2]; end x=p(:,1);y=p(:,2); plot(x,y)

Matlab实验报告:分形迭代

数学实验报告:分形迭代 练习1 1.实验目的:绘制分形图案并分析其特点。 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 equal else a=(2*p+q)/3; % 求出从p 到q 的1/3 处端点a b=(p+2*q)/3; % 求出从p 到q 的2/3 处端点b c=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');% 填充三角形abc hold on; axis equal else a1=(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为迭代次数

数学实验 matlab Koch雪花

作业二 实验内容: 对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。 实验过程: 1、代码如下: function xuehua(k) for j=0:2 if j==0; p=[0,0;10,0]; elseif j==1; p=[5,-5*sqrt(3);0,0]; else j==2; p=[10,0;5,-5*sqrt(3)]; end n=1; A=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)]; for s=1:k j=0; for i=1:n q1=p(i,:); q2=p(i+1,:); d=(q2-q1)/3; j=j+1;r(j,:)=q1; j=j+1;r(j,:)=q1+d; j=j+1;r(j,:)=q1+d+d*A'; j=j+1;r(j,:)=q1+2*d; end n=4*n; clear p p=[r;q2]; clear r end plot(p(:,1),p(:,2)) hold on; axis equal end 不同n对应不同的图像如下:

k=1 k=3

总结分析: Koch雪花的面积: k=0时S= 2 3 4 r k=1时S= 2 3 4 r + 2 3 12 r k=2时S= 2 3 4 r + 2 3 12 r + 2 3 27 r k=3时S= 2 3 4 r + 2 3 12 r + 2 3 27 r + 2 43 243 r k=n时S= 2 3 4 r + 2 3 12 r + …+ 2(1)12 1 33 *4*() 43 n n r r-- - + 2(1)2 33 *4*() 43 n n r r- 每一次迭加,所产生的新三角形的边长变为上一次的1 3,数量为上一次的4倍. S= 2 3 4 r + 2 3 4 r *(3* 2 1 () 3+12* 2 2 1 () 3+……+3*(1) 4n-* 2 1 () 3n) = 2 3 4 r + 2 3 4 r * (1)2 1 1 [3*4*()] 3 n i i i - = ∑ 曲线总面积无穷大。 分形维数: 根据迭代的规律得到:相似形个数:m=6 边长放大倍数:c=3,ln ln ln6ln3 d m c =÷=÷=1.631

分形插值算法和MATLAB实验

一,分形插值算法 ——分形图的递归算法1,分形的定义 分形(Fractal)一词,是法国人B.B.Mandelbrot 创造出来的,其原意包含了不规则、支离破碎等意思。Mandelbrot 基于对不规则的几何对象长期地、系统地研究,于1973 年提出了分维数和分形几何的设想。分形几何是一门以非规则几何形状为研究对象的几何学,用以描述自然界中普遍存在着的不规则对象。分形几何有其显明的特征,一是自相似性;分形作为一个数学集合, 其内部具有精细结构, 即在所有比例尺度上其组成部分应包含整体, 而且彼此是相似的。其定义有如下两种描述: 定义 1如果一个集合在欧式空间中的 Hausdorff 维数H D 恒大于其拓扑维数 r D ,则称该集合为分形集,简称分形。 定义 2组成部分以某种方式与整体相似的形体叫分形。 对于定义 1 的理解需要一定的数学基础,不仅要知道什么是Hausdorff 维数,而且要知道什么是拓扑维数,看起来很抽象,也不容易推广。定义 2 比较笼统的说明了自然界中的物质只要局部和局部或者局部和整体之间存在自相似性,那么这个物质就是分形。正是这一比较“模糊”的概念被人们普遍接受,同时也促进了分形的发展。 根据自相似性的程度,分形可分为有规分形和无规分形。有规分形是指具有严格的自相似的分形,比如,三分康托集,Koch 曲线。无规分形是指具有统计意义上的自相似性的分形,比如,曲折的海岸线,漂浮的云等。本文主要研究有规分形。

2. 分形图的递归算法 2.1 三分康托集 1883 年,德国数学家康托(G.Cantor)提出了如今广为人知的三分康托集。三分康托集是很容易构造的,然而,它却显示出许多最典型的分形特征。它是从单位区间出发,再由这个区间不断地去掉部分子区间的过程构造出来的(如图2.1)。 其详细构造过程是:第一步,把闭区间[0,1]平均分为三段,去掉中间的 1/3 部分段,则只剩下两个闭区间[0,1/3]和[2/3,1]。第二步,再将剩下的两个闭区间各自平均分为三段,同样去掉中间的区间段,这时剩下四段闭区间:[0,1/9],[2/9,1/3],[2/3,7/9]和[8/9,1]。第三步,重复删除每个小区间中间的 1/3 段。如此不断的分割下去,最后剩下的各个小区间段就构成了三分康托集。三分康托集的 Hausdorff 维数是0.6309。 图2.2 三分康托集的构造过程

MATLAB计算方法迭代法牛顿法二分法实验报告分析

姓名实验报告成绩 评语: 指导教师(签名) 年月日

说明:指导教师评分后,实验报告交院(系)办公室保存。 实验一 方程求根 一、 实验目的 用各种方法求任意实函数方程0)(=x f 在自变量区间[a ,b]上,或某一点附近的实根。并比较方法的优劣。 二、 实验原理 (1)、二分法 对方程0)(=x f 在[a ,b]内求根。将所给区间二分,在分点2a b x -= 判 断是否0)(=x f ;若是,则有根 2a b x -= 。否则,继续判断是否0)()(

(1)11x =0.09033 (2)5x =0.09052 (3)2x =0,09052 五、 实验内容 (1)、在区间[0,1]上用二分法求方程0210=-+x e x 的近似根,要求误差不 超过 3 105.0-?。 (2)、取初值00=x ,用迭代公式=+1k x -0x ) (') (k k x f x f ,求方程0210=-+x e x 的 近似根。要求误差不超过 3 105.0-?。 (3)、取初值00=x ,用牛顿迭代法求方程0210=-+x e x 的近似根。要求误 差不超过 3 105.0-?。 六、 实验步骤与实验程序 (1) 二分法 第一步:在MATLAB 7.0软件,建立一个实现二分法的MATLAB 函数文件agui_bisect.m 如下: function x=agui_bisect(fname,a,b,e) %fname 为函数名,a,b 为区间端点,e 为精度 fa=feval(fname,a); %把a 端点代入函数,求fa fb=feval(fname,b); %把b 端点代入函数,求fb if fa*fb>0 error('两端函数值为同号'); end %如果fa*fb>0,则输出两端函数值为同号 k=0 x=(a+b)/2 while(b-a)>(2*e) %循环条件的限制

迭代法实验报告

迭代法实验报告 一. 实验目的:掌握迭代方法的用处 二. 实验环境:Cfree5.0 三. 实验时间:2013年6月20日 四. 实验地点:电子信息楼1201教室 五. 实验内容:运用编程实现迭代方法可以更好的解线性方程组,得到线性方程的解。 六. 实验理论依据: 高斯-赛德尔(Gauss-Seidel )迭代公式 我们注意到在雅可比迭代法中并没有对新算出的分量11k x +,12k x +, , 11k i x +-进行充分利用.不妨设想,在迭代收敛的条件下,我们把 (1)()()()11211331111(1)()()()22112332222(1)()()()1122,111()1(1(k k k k n n k k k k n n k k k k n n n n n n nn x a x a x a x b a x a x a x a x b a x a x a x a x b a +++--?=---+???=---+?????=---+?? 式中第一个方程算出的11k x +立即投入到第二个方程中,代替()1k x 进行计算,当12 k x +算出后代替()2k x 马上投入到第三个方程中计算,依次进行下去,这样也许会得到 更好的收敛效果.根据这种思路建立的一种新的迭代格式,我们称为高斯-赛德尔(Gauss-Seidel )迭代公式, 高斯=赛德尔迭代法的分量形式:

(1)()()()11211331111(1)(1)()()22112332222(1)(1)(1)(1)1122,111()1(1(k k k k n n k k k k n n k k k k n n n n n n nn x a x a x a x b a x a x a x a x b a x a x a x a x b a +++++++--?=---+???=---+?????=---+?? 高斯-赛德尔迭代法的矩阵形式: (1)(),(0,1,2,)k k x Bx f k +=+= 其中 1()B D L U -=- ,1()f D L b -=- B 称为高斯-赛德尔迭代矩阵,f 称为高斯-赛德尔迭代常量.. 七. 运行代码如下: #include"stdio.h" #include"math.h" int main() { bool pan1=true; int n,n1,n2=0,k=0; double num[100][100],L[100][100],U[100][100],x[100],y[100],num1=0,b[100],D[100][100],x1[200][200],x2[200][200]; printf("\n"); printf("*******************************高斯迭代法解如下********************************"); printf("输入要输入矩阵的阶数为(按Enter 输入矩阵数字):");//

分形几何学

2 分形几何学的基本概念 本章讨论分形几何学的一些基本内容,其中:第1节讨论自相似性与分形几何学的创立;第2节讨论分形几何学的数学量度,即三种不同的维数计算方法;第3节讨论应用分形几何方法所实现的对自然有机体的模拟。 2.1自相似性与分形几何学 无论人们通过怎样的方式把欧几里得几何学的形体与自然界关联起来,欧氏几何在表达自然的本性时总是会遇到一个难题:即它无法表现自然在不同尺度层次上的无穷无尽的细节。欧氏几何形体在局部放大后呈现为直线或光滑的曲线,而自然界的形体(如山脉、河流、云朵等)则在局部放大后仍呈现出与整体特征相关的丰富的细节(图版2-1图1),这种细节特征与整体特征的相关性就是我们现在所说的自相似性。

自相似性是隐含在自然界的不同尺度层次之间的一种广义的对称性,它使自然造化的微小局部能够体现较大局部的特征,进而也能体现其整体的特征。它也是自然界能够实现多样性和秩序性的有机统一的基础。一根树枝的形状看起来和一棵大树的形状差不多;一朵白云在放大若干倍以后,也可以代表它所处的云团的形象;而一段苏格兰的海岸线在经过数次局部放大后,竟与放大前的形状惊人地相似(图版2-1图2)。这些形象原本都是自然界不可琢磨的形状,但在自相似性这一规律被发现后,它们都成为可以通过理性来认识和控制的了。显然,欧氏几何学在表达自相似性方面是无能为力了,为此,我们需要一种新的几何学来更明确地揭示自然的这一规律。这就是分形几何学产生的基础。

1977年,曼德布罗特(Benoit Mandelbrot)出版了《自然的分形几何学》(The Fractal Geometry of Nature)一书,自此分形几何学得以建立,并动摇了欧氏几何学在人们形态思维方面的统治地位。分形几何学的研究对象是具有如下特性的几何形体:它们能够在不断的放大过程中,不停地展现出自相似的、不规则变化着的细节(图2-1图3)。这些几何形状不同于欧氏几何形体的一维、二维或三维形状,它们的维数不是简单的1、2或3,而是处于它们之间或之外的分数。 科赫曲线(Koch Curve)是分形几何学基本形体中的一个典型实例,它是由这样一种规律逐次形成的:用一根线段做为操作对象,对其三等分,把中间一段向侧面旋转60度,并增加另一段与之长度相同的线段把原来的三条线段连接为一体,这四条线段组成的形状就是第一代的科赫曲线;分别对它的每一条线段重复上述的操作,将形成第二代科赫曲线;再对其每一条线段进行上述操作,可得第三代,等等;如此迭代下去(图版2-1图4)。显然,对每一代的构成元素的同样操作决定了自相似性的代代传递,使形成的科赫曲线已经明确地具有了自然的特征。如果再进一步在操作中增加一点随机成分的话,那么所得的随机科赫曲线的自然性就更强列了。[回本章页首] 2.2维数计算:分形几何学的数学量度 既然分形几何学是一种严格的数学,那么它一定有自身的数学量度。分形几何学的数学量度是分形几何形体的维数。如前所述,分形几何形体的维数不是整数而是分数,它的计算是分形几何的创立者们在总结归纳的基础上产生的。 分形几何体的维数计算的数学推导是复杂的,也不是我们所关心的内容。但维数计算所代表的形象意义却值得我们关注。如前所述,分形几何形体的本质属性是自相似性,而这一自相似性一定是在同一形体的不同层次之间(不论是对自然形体的不同程度的放大,还是对人工形体迭代操作所得到的不同代)得以体现的。因而,分形几何形的维数正是在形状的不同层次的比较之间所反映出来的规律。这一规律所代表的是分形几何形状在空间中的扩张趋势。维数越大,就表明它在空间的扩张趋势越强,形状本身的变化可能性也越丰富。

分形实例

2、对一条横向线段,先将其等分成4段,然后再将第二段向上移,将第三段向下移,再将第四段的相邻端点连接起来,迭代一次后变成图3-21.继续迭代得到的分形图,称为Minkouski (1)编辑实现上述迭代的函数 在Matlab中,编制一个函数来绘制Minkouski香肠的图形。具体代码如下:function frat1(k) p=[0,0;10,0]; A=[0,1;-1,0]; n=1; for s=1:k j=0; for i=1:n; q1=p(i,:); q2=p(i+1,:); d=(q2-q1)/4; j=j+1;r(j,:)=q1; j=j+1;r(j,:)=q1+d; j=j+1;r(j,:)=q1+d+d*A; j=j+1;r(j,:)=q1+2*d+d*A; j=j+1;r(j,:)=q1+2*d+d*A'; j=j+1;r(j,:)=q1+3*d+d*A'; j=j+1;r(j,:)=q1+3*d; end n=n*7; clear p p=[r;q2]; end

plot(p(:,1),p(:,2)) axis equal 将这个文件保存,文件名记为frat1.m. (2)绘制Minkouski香肠的图形 代码:frat(3) 运行结果: 代码:frat(5) 运行结果:

根据迭代规律得到:形似形个数m=7,边长放大倍数c=4,故维数d=1.4037.因此,Minkouski香肠的维数介于1与2之间。具体计算如下: d=ln m/ln c=ln 7/ln 4=1.4037 5、自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘出它的图形,并计算维数。 function frat2(k) p=[-5,5;5,5;5,-5;-5,-5;-5,5]; A=[1.5,-0.5;0.5,1.5]; n=4; for s=1:k j=0; for i=1:n; q1=p(i,:); q2=p(i+1,:); d=(q2-q1)/3; j=j+1;r(j,:)=q1; j=j+1;r(j,:)=q1+d; j=j+1;r(j,:)=q1+d+d*A; j=j+1;r(j,:)=q1+2*d; end n=n*4;

分形几何的数学基础

课程名称(中文):分形几何的数学基础 课程名称(英文):Mathematical foundation of Fractal geometry 一)课程目的和任务: 分形几何的概念是由B.Mandelbrot 1975年首先提出的,数十年来它已迅速发展成为一门新兴的数学分支,它的应用几乎涉及到自然科学的各个领域。本课程为分形几何研究方向研究生的专业必修课程。主要内容包括:抽象空间,拓扑空间及度量空间中的测度理论基础、分形的(Hausdorff,packing及box-counting)维数理论及其计算技巧、分形的局部结构、分形的射影及分形的乘积等。其目的是使学生基本理解并掌握分形几何学基本概貌和基本研究方法及技巧,从而使他们能够阅读并理解本专业的文献资料。 二)预备知识:测度论,概率论 三)教材及参考书目: 教材:分形几何――数学基础及其应用肯尼思.法尔科内著东北大学出版社 参考书目:1)Rogers C.A. Hausdorff measures, Cambridge University Press, Cambridge, 1970. 2)文志英,分形几何的数学基础,上海科技教育出版社,上海,2000. 3)周作领,瞿成勤,朱智伟,自相似集的结构---Hausdorff测度与上凸密度(第二版),科学出版社,2010。 四)讲授大纲(中英文) 第一章数学基础 1)集合论基础 2)函数和极限 3)测度和质量分布 4)有关概率论的注记 第二章豪斯道夫测度和维数 1)豪斯道夫测度 2)豪斯道夫维数 3)豪斯道夫维数的计算――简单的例子 4)豪斯道夫维数的等价定义 5)维数的更精细定义 第三章维数的其它定义 1)计盒维数 2)计盒维数的性质与问题 3)修改的计盒维数 4)填充测度与维数 5)维数的一些其它定义 第四章计算维数的技巧 1)基本方法 2)有限测度子集 3)位势理论方法 4)傅立叶变换法 第五章分形的局部结构

数值计算(二分法、简单迭代法、Newton迭代法、弦截法(割线法、双点弦法))

本科生实验报告 实验课程数值计算方法 学院名称信息科学与技术学院 专业名称计算机科学与技术 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇一六年五月二〇一六年五月

实验一非线性方程求根 1.1问题描述 实验目的:掌握非线性方程求根的基本步骤及方法,。 实验内容:试分别用二分法、简单迭代法、Newton迭代法、弦截法(割线法、双点弦法),求x5-3x3+x-1= 0 在区间 [-8,8]上的全部实根,误差限为10-6。 要求:讨论求解的全过程,对所用算法的局部收敛性,优缺点等作分析及比较, 第2章算法思想 2.1二分法 思想:在函数的单调有根区间内,将有根区间不断的二分,寻找方程的解。 步骤: 1.取中点mid=(x0+x1)/2 2.若f(mid)=0,则mid为方程的根,否则比较与两端的符号,若与 f(x0) 异号,则根在[x0,mid]之间,否则在[mid,x1]之间。 3并重复上述步骤,直达达到精度要求,则mid为方程的近似解。

2.2 简单迭代法 思想:迭代法是一种逐次逼近的方法,它是固定公式反复校正跟的近似值,使之逐步精确,最后得到精度要求的结果。 步骤:1.构造迭代公式f(x),迭代公式必须是收敛的。 2.计算x1,x1=f(x0). 3.判断|x1-x0|是否满足精度要求,如不满足则重复上述步骤。 4.输出x1,即为方程的近似解。

开始 输入x0,e X1=f(x0)|x1-x0|

数学实验迭代:分形

迭代:分形 姓名: 学号: 班级:数学与应用数学4班

实验报告 实验目的:以迭代的观点介绍分形的基本特性以及生成分形图形的基本方法,使读者在欣赏美丽的分形图案的同时对分形几何这门学科有一个直观的了解,并从哲理的高度理解这门学科诞生的必然,激发读者探寻科学真理的兴趣。 实验环境:Mathematica软件 实验基本理论和方法: 在19世纪末及20世纪初,一些数学家就构造出一些边界形状极不光滑的图形,而这类图形的构造方式都有一个共同的特点,即最终图形F都是按照一定的规则R通过对初始图形不断修改得到的。其中最有代表性的图形是Koch曲线,Koch曲线的构造方式是:给定一条直线段,将该直线段三等分,并将中间的一段用以该线段为边的等边三 角形的另外两条边代替,得到图形,然后再对图形中的每一小段都按上述方式修改,以至无穷。则最后得到的极限曲线即是所谓的Koch曲线。 生成元:Koch曲线的修改规则R是将每一条直线段用一条折线代替,我们称为该分形的生成元。 分形的基本特性完全由生成元确定,因此,给定一个生成元,我们就可以生成各种各样的分形图形。 Julia集绘制方法:(1)设定初值p,q,一个最大的迭代次数N,图形的分辨率的大小a,b,和使用的颜色数(如K=16)(或者给定灰度 级L);(2)设定一个上界值;(3)将矩形区域

分成的网格,分别以每个网格点, ,,,作为初值利用riter做迭代(实际上,只需对满足的初值点做迭代)。如果对所有,,则将图形的像素点用黑 色显示,否则,如果从迭代的某一步开始有,则用 modK种颜色显示相应像素(或者用相应的灰度级显示)。Mandelbrot集绘制方法:设定一个最大的迭代次数N,图形的分辨率的大小a,b,和使用的颜色数(如K=16)(或者给定灰度级L);(2) 设定一个上界值;(3)将矩形区域分成 的网格,分别以每个网格点,,, ,作为参数值利用riter做迭代(实际上,只需对的初值点做迭代),每次迭代的初值均取为。如果对所有,,则将图形的像素点用黑色显示,否则,如果从迭代的某一步开始有,则用modK种颜色显示相应像素(或者用相应的灰度级显示)。IFS迭代绘制分形:设计算机屏幕的可视窗口为 , 按分辨率大小的要求将分成的网格,网格点为,这里 ,, ,, 用表示矩形区域,假设我们采取具有

牛顿迭代法实验报告

用牛顿迭代法求非线性方程的根 一、 实验题目 求方程()013=--=x x x f 在5.1附近的根。 二、 实验引言 (1)实验目的 1. 用牛顿迭代法求解方程的根 2. 了解迭代法的原理 3. 改进和修缮迭代法 (2)实验意义 牛顿迭代法就是众多解非线性方程迭代法中比较普遍的一种,求解方便实用。 三、 算法设计 (1)基本原理 给定初始值0x ,ε为根的容许误差,η为()x f 的容许误差,N 为迭代次数的容许值。 1.如果()0='x f 或迭带次数大于N ,则算法失败,结束;否则执行2. 2.计算()() 0001x f x f x x '-=. 3.若ε<-21x x 或()η<1x f ,则输出1x ,程序结束;否则执行4. 4.令10x x =,转向1. (2)流程图

四、程序设计program nndd01 implicit none real,parameter::e=0.005 real,parameter::n=9 real::x1 real::x0=1.5 integer::k real,external::f,y do k=1,9 if (y(x0)==0) then write(*,*)"失败" else x1=x0-f(x0)/y(x0) if (abs(x1-x0)

else x0=x1 end if end if end do end function f(x) implicit none real::f real::x f=x*x*x-x-1 return end function function y(x) implicit none real::y real::x y=3*x*x-1 return end function 五、求解结果 3 1.324718 4 1.324718 5 1.324718 6 1.324718 7 1.324718 8 1.324718 9 1.324718 六、算法评价及讨论 1.在求解在1.5处附近的根,不难发现在输入区间左端值为1时 需要迭代6次,而输入区间左端值为1.5时,却只要4次。初

迭代·混沌·分形

迭代·混沌·分形 柴文斌 (四川省遂宁中学校629000) 一、课例背景 在20世纪下半叶,计算机的“魔杖”不断制造出新的数学分支,它最拿手的迭代计算引出了“混沌学”,接着又导致了分形几何的产生. 分形的思想和方法在模式识别,自然图象的模拟,信息讯号的处理,以及金融模型,艺术的制作等领域都取得了极大的成功. 二、教学目标 ①本课例按《新课标》的要求,通过分形为载体,引起学生深厚的兴趣,在探究过程中,浅介数学新思想、新发展,同时让学生发现数学美,激发他们勇敢地追求美,主动地创造美,从而陶冶他们的情操,培养他们创新的精神. ②总结平常练习过的从迭代、分形为背景数学试题,让他们用联系、发展的眼光,体会“背景深刻,方法独到”高考压轴题设计意图,明白“基础扎实,能力到位”明确要求. 三、教学重点 ①应用计算机让学生感受分形图之美妙及形成数学原理. ②分析分形为背景数学试题,形成高观点下审视数学问题. 四、教学难点 ①迭代、混沌、分形定义度的把握. ②Julia集、Mandelbrot集及其特征. 五、教学过程 (一)美丽的分形图形 运用多媒体展放《孔雀开屏》等11幅分形艺术作品. 师:这些美丽图形自然而优美,纷繁而有序,放射出诱人的色彩,在绚丽的色彩变化背后有几分神秘,似乎没有人会对这些图形无动于衷,你们相信,这些

美妙的图形是运用数学知识,通过计算机构造出来的吗?是如何构造的呢?我们还得从函数迭代说起! (二)函数的迭代 问题1: 计算:①x n n sin lim ∞→ ②=∞ →x n n cos lim 问题2: 211n n x x +=- 11=x 轨道:1,0,-1,0,-1,…… 5.02=x 轨道:0.5,―0.75,―0.4375,―0.80859,…―1,0,―1,0,-1 问题3:①有没有这样一个初态把它代入211-+=n n x x ,结果不变吗? · · A B 251- 2 51+ ②618.11=x 写出系统轨道 ③619.11=x 写出系统轨道 问题4:二次函数2)(z z f =进行迭代 ①i z 2 11=,写出系统轨道 ②i z +=11,写出系统轨道 问题5:2)(z z f =且1||0

数学实验分形实例

数学实验报告 学院: 班级: 学号: 姓名: 完成日期:

实验二分形 (一)练习题1 一.实验目的 1.了解分形几何的基本情况; 2.了解通过迭代方式,产生分形图的方法; 3.了解matlab软件中简单的程序结构。 二. 问题描述 对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。 三.实验过程 仿照Koch曲线代码对三角形的每条边进行Koch曲线化,建立函数“snow”的输入参数有三角形的边长R和迭代次数k,输出Koch雪花图形以及雪花所围面积S. 源代码如下: function snow(R,k) p=[0;R/2+1i*R*sin(pi/3);R;0]; S=0; n=3; A=exp(1i*pi/3); for s=1:k

j=0; for i=1:n q1=p(i,:); q2=p(i+1,:); d=(q2-q1)/3; j=j+1;r(j,:)=q1; j=j+1;r(j,:)=q1+d; j=j+1;r(j,:)=q1+d+d*A; j=j+1;r(j,:)=q1+2*d; end n=4*n; clear p p=[r;q2]; end figure q(:,1)=real(p(:,1)); q(:,2)=imag(p(:,1)); plot(q(:,1),q(:,2)) fill(q(:,1),q(:,2),'b') for i=0:k S=S+(3.^(0.5-i))*0.25*(R.^2); end

S axis equal 按照以上程序,输入参数,有以下结果:>> snow(1,1) S =0.5774 图形如下: >>snow(1,2) S =0.6255 图形如下: >>snow(1,3) S =0.6415 图形如下:

相关文档
最新文档