当前位置:文档之家› 实验五 迭代与分形

实验五 迭代与分形

实验五  迭代与分形
实验五  迭代与分形

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

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

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

matlab实验十七__牛顿迭代法(可打印修改)

实验十七牛顿迭代法 【实验目的】 1.了解牛顿迭代法的基本概念。 2.了解牛顿迭代法的收敛性和收敛速度。 3.学习、掌握MATLAB软件的有关命令。 【实验内容】 用牛顿迭代法求方程的近似根,误差不超过。 3210 ++-=3 10- x x x 【实验准备】 1.牛顿迭代法原理 2.牛顿迭代法的几何解析 3.牛顿迭代法的收敛性 4.牛顿迭代法的收敛速度 5.迭代过程的加速 6.迭代的MATLAB命令 MATLAB中主要用for,while等控制流命令实现迭代。 【实验重点】 1.牛顿迭代法的算法实现 2.牛顿迭代法收敛性和收敛速度 【实验难点】 1.牛顿迭代法收敛性和收敛速度 【实验方法与步骤】 练习1用牛顿迭代法求方程在x=0.5附近的近似 3210 ++-= x x x

根,误差不超过。 310-牛顿迭代法的迭代函数为 322()1()()321 f x x x x g x x x f x x x ++-=-=-'++相应的MATLAB 代码为 >>clear; >>x=0.5; >>for i=1:3 >>x=x-(x^3+x^2+x-1)/(3*x^2+2*x+1) >>end 可算的迭代数列的前3项0.5455,0.5437,0.5437。经三次迭代,就大大超过了精度要求。 练习2 用牛顿迭代法求方程的近似正实根,由此建2(0)x a a =>立一种求平方根的计算方法。 由计算可知,迭代格式为,在实验12的练习4中1()()2a g x x x =+已经进行了讨论。 【练习与思考】 1.用牛顿迭代法求方程的近似根。 ln 1x x =2.为求出方程的根,在区间[1,2]内使用迭代函数进行310x x --=迭代,纪录迭代数据,问迭代是否收敛?对迭代进行加速,对比加速前的数据,比较加速效果。 3.使用在不动点的泰勒公式,证明牛顿迭代法收敛原理。*x

数学实验迭代(方程求解)

实验六 迭代(方程求解) 一.实验目的:认识迭代数列,考察迭代数列的收敛性.并学会用Mathematica 系统对线性和非线性的方程组进行迭代求解. 二.实验环境:计算机,Mathematica 数学软件,Word 文档,课本。 三.实验的基本理论和方法: 给定迭代函数f(x)以及一个初值0x 利用1(),0,1,n n x f x n +==???迭代得到数列n x ,0,1,n =???.如果数列n x 收敛与某个* x ,则有**()x f x =.即* x 是方程 ()x f x =的解.由此用如下的方法求方程()0g x =的近似解。 将方程()0g x =改写为等价的方程()x f x =,然后选取一初值利用 1(),0,1,n n x f x n +==???做迭代.迭代数列n x 收敛的极限就是()0g x =的解.线 性方程组以及非线性方程组的求解与单变量的方程求解方法类似.实验内容和步骤 四.实验内容与结果 1.线性方程组 ⑴编写给定初值0x 及迭代函数()f x ,迭代n 次产生相应的序列. ⑵给函数()(2/)f x x x =+初值为0进行迭代80次所产生的迭代序列并显示. 输入程序: Iterate f_,x0_,n_Integer :Module t ,i,temp x0, AppendTo t,temp ; For i 1,i n,i ,temp f temp ;AppendTo t,temp ; t f x_: x 2x 2; Iterate f,1.,80 运行结果得:

1.,1.5,1.41667,1.41422,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421, 1.41421,1.41421,1.41421,1.41421,1.41421,1.41421 输入程序: NTIterate g_,x0_,n_Integer : Module i,var x0,t ,h, h x_Dt g x ,x; For i 1,i n,i ,AppendTo t,var ; If h var0,var N var g var h var ,20, Print"Divided by Zero after",i, "'s iterations."; Break ; t g x_:x^32; NTIterate g,1,40 运行结果得:

迭代与分形

实验名称:迭代与分形 专业:信息工程 班级: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时

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

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为迭代次数

迭代法实验

实验五线性方程组的迭代法实验 一. 实验目的 (1)深入理解线性方程组的迭代法的设计思想,学会利用系数矩阵的性质以保证迭代过程的收敛性,以及解决某些实际的线性方程组求解问题。 (2)熟悉Matlab编程环境,利用Matlab解决具体的方程求根问题。 二. 实验要求 建立Jacobi迭代公式、Gauss-Seidel迭代公式和超松弛迭代公式,用Matlab软件实现线性方程组求解的Jacobi迭代法、Gauss-Seidel迭代法和超松弛迭代法,并用实例在计算机上计算。 三. 实验内容 1. 实验题目 (1)分别利用Jacobi迭代和Gauss-Seidel迭代求解下列线性方程组,取x0={0 ,0,0,0,0-,o}t (2)分别取w=1、1.05、1.1、1.25和 1.8,用超松弛法求解上面的方程组,要求精度为510 。 2. 设计思想 1.Jacobi迭代: Jacobi迭代的设计思想是将所给线性方程组逐步对角化,将一般形式的线性方程组的求解归结为对角方程组求解过程的重复。 2.Gauss-Seidel迭代: Gauss-Seidel迭代的设计思想是将一般形式的线性方程组的求解过程归结为下三角方程组求解过程的重复。 3.超松弛迭代:基于Gauss-Seidel迭代,对i=1,2,…反复执行计算迭代公式,即为超松弛迭代。 3. 对应程序 1.Jacobi迭代: function [x,k]=Jacobimethod(A,b,x0,N,emg) %A是线性方程组的左端矩阵,b是右端向量,x0是迭代初始值 % N表示迭代次数上限,emg表示控制精度,k表示迭代次数,x是解 n=length(A); x1=zeros(n,1); x2=zeros(n,1); x1=x0;k=0; r=max(abs(b-A*x1)); while r>emg for i=1:n sum=0; for j=1:n if i~=j sum=sum+A(i,j)*x1(j); end end x2(i)=(b(i)-sum)/A(i,i); end r=max(abs(x2-x1)); x1=x2; k=k+1; if k>N disp('迭代失败,返回'); return; end end

分形几何学

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维数计算:分形几何学的数学量度 既然分形几何学是一种严格的数学,那么它一定有自身的数学量度。分形几何学的数学量度是分形几何形体的维数。如前所述,分形几何形体的维数不是整数而是分数,它的计算是分形几何的创立者们在总结归纳的基础上产生的。 分形几何体的维数计算的数学推导是复杂的,也不是我们所关心的内容。但维数计算所代表的形象意义却值得我们关注。如前所述,分形几何形体的本质属性是自相似性,而这一自相似性一定是在同一形体的不同层次之间(不论是对自然形体的不同程度的放大,还是对人工形体迭代操作所得到的不同代)得以体现的。因而,分形几何形的维数正是在形状的不同层次的比较之间所反映出来的规律。这一规律所代表的是分形几何形状在空间中的扩张趋势。维数越大,就表明它在空间的扩张趋势越强,形状本身的变化可能性也越丰富。

关于牛顿迭代法的课程设计实验指导

y x O x * x 1 x 0 关于牛顿迭代法的课程设计实验指导 非线性方程(或方程组)问题可以描述为求 x 使得f (x ) = 0。在求解非线性方程的方法中,牛顿迭代法是求非线性方程(非线性方程组)数值解的一种重要的方法。牛顿是微积分创立者之一,微积分理论本质上是立足于对世界的这种认识:很多物理规律在微观上是线性的。近几百年来,这种局部线性化方法取得了辉煌成功,大到行星轨道计算,小到机械部件设计。牛顿迭代法正是将局部线性化的方法用于求解方程。 一、牛顿迭代法及其收敛速度 牛顿迭代法又称为牛顿-拉夫逊方法(Newton-Raphson method ),是一种在实数域和复数域上通过迭代计算求出非线性方程的数值解方法。方法的基本思路是利用一个根的猜测值x 0做初始近似值,使用函数f (x )在x 0处的泰勒级数展式的前两项做为函数f (x )的近似表达式。由于该表达式是一个线性函数,通过线性表达式替代方程中的求得近似解x 1。即将方程f (x ) = 0在x 0处局部线性化计算出近似解x 1,重复这一过程,将方程f (x ) = 0在x 1处局部线性化计算出x 2,求得近似解x 2,……。详细叙述如下:假设方程的解x *在x 0附近(x 0是方程解x *的近似),函数f (x )在点x 0处的局部线化表达式为 )()()()(000x f x x x f x f '-+≈ 由此得一次方程 0)()()(000='-+x f x x x f 求解,得 ) ()(0001x f x f x x '-= 如图1所示,x 1比x 0更接近于x *。该方法的几何意义是:用曲线上某点(x 0,y 0)的切线代替曲线,以该切线与x 轴的交点(x 1,0)作为曲线与x 轴的交点(x *,0)的近似(所以牛顿迭代法又称为切线法)。设x n 是方程解x *的近似,迭代格式 ) ()(1n n n n x f x f x x '-=+ ( n = 0,1,2,……) 就是著名的牛顿迭代公式,通过迭代计算实现逐次逼近方程的解。牛顿迭代法的最大优点是收敛速度快,具有二阶收敛。以著名的平方根算法为例,说明二阶收敛速度的意义。 例1.已知4.12≈,求2等价于求方程f (x ) = x 2 – 2 = 0的解。由于x x f 2)(='。应用牛顿迭代法,得迭代计算格式 )/2(2 11n n n x x x +=+,(n = 0,1,2,……) 取x 0= 1.4为初值,迭代计算3次的数据列表如下 迭代次数 近似值 15位有效数 误差 0 1.4 1.41421356237310 -1.42e-002 1 1.41428571428571 1.41421356237310 7.21e-005 2 1.41421356421356 1.41421356237310 1.84e-009 3 1.41421356237309 1.41421356237310 - 2.22e-016 图1 牛顿迭代法示意图

数学实验“线性方程组的J-迭代,GS-迭代,SOR-迭代解法”实验报告(内含matlab程序代码)

西京学院数学软件实验任务书 课程名称数学软件实验班级数0901 学号0912020107 姓名李亚强 实验课题线性方程组的J-迭代,GS-迭代,SOR-迭代方法。 实验目的 熟悉线性方程组的J-迭代,GS-迭代,SOR-迭代方法。 实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成。 实验内容线性方程组的J-迭代;线性方程组的GS-迭代;线性方程组的SOR-迭代。 成绩教师

实验四实验报告 一、实验名称:线性方程组的J-迭代,GS-迭代,SOR-迭代。 二、实验目的:熟悉线性方程组的J-迭代,GS-迭代,SOR-迭代,SSOR-迭代方法,编程实现雅可比方法和高斯-赛德尔方法求解非线 性方程组121231 235210 64182514 x x x x x x x x +=?? ++=??++=-?的根,提高matlab 编程能力。 三、实验要求:已知线性方程矩阵,利用迭代思想编程求解线性方程组的解。 四、实验原理: 1、雅可比迭代法(J-迭代法): 线性方程组b X A =*,可以转变为: 迭代公式(0)(1)() k 0,1,2,....k k J X X B X f +???=+=?? 其中b M f U L M A M I B J 111),(---=+=-=,称J B 为求解 b X A =*的雅可比迭代法的迭代矩阵。以下给出雅可比迭代的 分量计算公式,令),....,() ()(2)(1)(k n k k k X X X X =,由雅可比迭代公式 有 b X U L MX k k ++=+) () 1()(,既有i n i j k i ij i j k i ij k i ij b X a X a X a +- -=∑∑+=-=+1 )(1 1 )() 1(, 于

数学实验迭代:分形

迭代:分形 姓名: 学号: 班级:数学与应用数学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迭代绘制分形:设计算机屏幕的可视窗口为 , 按分辨率大小的要求将分成的网格,网格点为,这里 ,, ,, 用表示矩形区域,假设我们采取具有

matlab 数学实验 迭代 _ 蛛网图(免积分)

数学实验—实验报告(免积分) 一、实验项目:Matlab实验三—迭代 二、实验目的和要求 a.熟悉MATLAB软件的用户环境,掌握其一般目的命令和MATLAB数组操作与 运算函数; b.掌握MATLAB软件的绘图命令,能够熟练应用循环和选择结构实现各种循环 选择功能; c.借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜 想,发现进而证实其中的规律。 三、实验内容 问题一:将方程53 x x x +-+=改写成各种等价的形式进行迭代 5210 观察迭代是否收敛,并给出解释。 问题二:迭代以下函数,分析其收敛性。 4 f(x)=x-a 使用线性连接图、蛛网图或费根鲍姆图对参数a进行讨论和观察,会得到什么结论? 问题一: (1)画图 x1=-6:0.01:6; x2=-3:0.01:3; x3=-1:0.01:1; x4=-0.8:0.01:-0.75; y1=x1.^5 +5*x1.^3-2*x1+1; y2=x2.^5 +5*x2.^3-2*x2+1; y3=x3.^5 +5*x3.^3-2*x3+1; y4=x4.^5 +5*x4.^3-2*x4+1; subplot(2,2,1),plot(x1,y1) ,title('图(1)') ,grid on, subplot(2,2,2),plot(x2,y2) ,title('图(2)'),grid on, subplot(2,2,3),plot(x3,y3) ,title('图(3)'),grid on, subplot(2,2,4),plot(x4,y4) ,title('图(4)') ,grid on,

迭代·混沌·分形

迭代·混沌·分形 柴文斌 (四川省遂宁中学校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

迭代法实验报告

迭代法实验报告 一. 实验目的:掌握迭代方法的用处 二. 实验环境: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 输入矩阵数字):");//

分形与迭代

实验三迭代与分形 一、实验目的与要求 1.了解分形几何的基本情况; 2.了解通过迭代方式产生分形图的方法; 3.了解matlab软件中简单的程序结构; 4.掌握matlab软件中plot, fill等函数的基本用法; 二、问题描述 1.对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch 雪花的面积,以及它的分形维数。 2.自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。 三、问题分析 1.第一题要求我们利用一个等边三角形然后在三角形的基础上利用

理论课上的Koch曲线的画法,产生一朵Koch雪花,由于Koch 雪花的产生相当于将三条等长的直线分别产生的Koch曲线按照 等边三角形的坐标形式组合起来然后在同一个坐标系中表示出来, 这就形成了Koch雪花图案。 四、背景知识介绍 1.什么是迭代 迭代法是常用的一种数学方法,就是将一种规则反复作用在某个对象上,它可以产生非常复杂的行为。我们这里介绍图形迭代和函数迭代两种方式。 (1)图形迭代。给定初始图形F0,以及一个替换规则R,将R反复作用在初始图形F0上,产生一个图形序列: R(F )=F1,R(F1)=F2,R(F2)=F3,… (2)函数迭代。给定初始值x0,以及一个函数f(x),将f(x)反复作用在初始值x0上,产生一个数列: f(x 0)=x 1 ,f(x1)=x2,f(x2)=x3,… 2.p lot函数介绍 plot是最重要最基本的二维曲线绘图指令,基本功能是画折线和曲线。基本调用格式如下: (1)plot(Y,LineSpec)。其中,Y一般是数组;而LineSpec是用来指定线型、色彩等的选项字符串,可省略。本功能是以数组Y作为竖坐标,以数组元素的下标为横坐标,画出一条折线。当数组元素很多时,就出现连续曲线的效果。 (2) plot(X,Y)。其中,X、Y一般是相同长度的数组。本功能是以数组Y作为

牛顿迭代法实验报告

用牛顿迭代法求非线性方程的根 一、 实验题目 求方程()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次。初

数学建模迭代实验报告

非 线 性 迭 代 实 验 报 告 一、实验背景与实验目的 迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。 蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。 本实验在Mathematica 平台上首先利用蛛网图和迭代数列研究不动点的类型;其次通过蛛网图和迭代数列研究Logistic 映射,探索周期点的性质、认识混沌现象;第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;最后,利用结点迭代探索分形的性质。 二、实验材料 2.1迭代序列与不动点 给定实数域上光滑的实值函数)(x f 以及初值0x ,定义数列 )(1n n x f x =+,Λ,2,1,0=n (2.2.1) }{n x 称为)(x f 的一个迭代序列。 函数的迭代是数学研究中的一个非常重要的思想工具,利用迭代序列可以研究函数)(x f 的不动点。 对函数的迭代过程,我们可以用几何图象来直观地显示它——“蜘蛛网”。运行下列Mathematica 程序: Clear[f] f[x_] := (25*x - 85)/(x + 3); (实验时需改变函数) Solve[f[x]==x , x] (求出函数的不动点) g1=Plot[f[x], {x, -10, 20}, PlotStyle -> RGBColor[1, 0, 0], DisplayFunction -> Identity]; g2=Plot[x, {x, -10, 10}, PlotStyle -> RGBColor[0, 1, 0], DisplayFunction -> Identity]; x0=5.5; r = {}; r0=Graphics[{RGBColor[0, 0, 1], Line[{{x0, 0}, {x0, x0}}]}]; For[i = 1, i <= 100, i++, r=Append[r, Graphics[{RGBColor[0, 0, 1], Line[{{x0, x0}, {x0, f[x0]}, {f[x0], f[x0]}}] }]]; x0=f[x0] ]; Show[g1, g2, r, r0, PlotRange -> {-1, 20}, (PlotRange 控制图形上下范围) DisplayFunction -> $DisplayFunction] x[0]=x0; x[i_]:=f[x[i-1]]; (定义序列) t=Table[x[i],{i,1,10}]//N ListPlot[t] (散点图) 观察蜘蛛网通过改变初值,你能得出什么结论? 如果只需迭代n 次产生相应的序列,用下列Mathematica 程序: Iterate[f_,x0_,n_Integer]:= Module[{ t={},temp= x0},AppendTo[t,temp]; For[i=1,i <= n, i++,temp= f[temp]; AppendTo[t,temp]]; t ] f[x_]:= (x+ 2/x)/2; Iterate[f,0.7,10]

相关主题
文本预览
相关文档 最新文档