数学建模迭代实验报告

合集下载

大学数学实验报告----迭代(一)——方程求解

大学数学实验报告----迭代(一)——方程求解

Do M n , n, 2, 100
运行结果:
M n_Integer : Module y, k , m 2; k m ^ n 1 ;
x Mod k, n ;
Print n, " ", PrimeQ n , " ", x, "
", GCD m, n
Do M n , n, 2, 100
2 True 0 2 3 True 1 1 4 False 0 2 5 True 1 1 6 False 2 2 7 True 1 1 8 False 0 2 9 False 4 1 10 False 2 2 11 True 1 1 12 False 8 2 13 True 1 1 14 False 2 2 15 False 4 1 16 False 0 2 17 True 1 1 18 False 14 2 19 True 1 1 20 False 8 2 21 False 4 1 22 False 2 2 23 True 1 1 24 False 8 2 25 False 16 1 26 False 2 2 27 False 13 1 28 False 8 2 29 True 1 1 30 False 2 2 31 True 1 1 32 False 0 2 33 False 4 1 34 False 2 2 35 False 9 1 36 False 32 2 37 True 1 1 38 False 2 2 39 False 4 1 40 False 8 2
99 False 3 27 100 False 1 67 Null2
m=4 时
输入程序:
M n_Integer : Module y, k , m 4; k m ^ n 1 ; x Mod k, n ; Print n, " ", PrimeQ n , " ", GCD m, n , " ", x Do M n , n, 2, 100

迭代法解线性方程组数值分析实验报告

迭代法解线性方程组数值分析实验报告

迭代法解线性方程组数值分析实验报告一、实验目的本次实验旨在深入研究和掌握迭代法求解线性方程组的基本原理和方法,并通过数值实验分析其性能和特点。

具体目标包括:1、理解迭代法的基本思想和迭代公式的推导过程。

2、掌握雅克比(Jacobi)迭代法、高斯赛德尔(GaussSeidel)迭代法和超松弛(SOR)迭代法的算法实现。

3、通过实验比较不同迭代法在求解不同类型线性方程组时的收敛速度和精度。

4、分析迭代法的收敛性条件和影响收敛速度的因素。

二、实验原理1、线性方程组的一般形式对于线性方程组$Ax = b$,其中$A$ 是$n×n$ 的系数矩阵,$x$ 是$n$ 维未知向量,$b$ 是$n$ 维常向量。

2、迭代法的基本思想迭代法是从一个初始向量$x^{(0)}$出发,按照某种迭代公式逐步生成近似解序列$\{x^{(k)}\}$,当迭代次数$k$ 足够大时,$x^{(k)}$逼近方程组的精确解。

3、雅克比迭代法将系数矩阵$A$ 分解为$A = D L U$,其中$D$ 是对角矩阵,$L$ 和$U$ 分别是下三角矩阵和上三角矩阵。

雅克比迭代公式为:$x^{(k+1)}= D^{-1}(b +(L + U)x^{(k)})$。

4、高斯赛德尔迭代法在雅克比迭代法的基础上,每次计算新的分量时立即使用刚得到的最新值,迭代公式为:$x_i^{(k+1)}=(b_i \sum_{j=1}^{i-1}a_{ij}x_j^{(k+1)}\sum_{j=i+1}^{n}a_{ij}x_j^{(k)})/a_{ii}$。

5、超松弛迭代法在高斯赛德尔迭代法的基础上引入松弛因子$\omega$,迭代公式为:$x_i^{(k+1)}= x_i^{(k)}+\omega((b_i \sum_{j=1}^{i-1}a_{ij}x_j^{(k+1)}\sum_{j=i}^{n}a_{ij}x_j^{(k)})/ a_{ii} x_i^{(k)})$。

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.实验结论:以上图案的局部形状与原本图形用某种自相似性,这正是分形的特点。

《数学实验》实验报告——迭代法

《数学实验》实验报告——迭代法

3.线性方程组的迭代求解
给定一个 n 元线性方程组
a11 x1 a12 x 2 a1 n xn 0 a x a x a x 0 21 1 22 2 2n n am 1 x1 am 2 x 2 amn xn 0

观察序列,并且判断极限。 Mathematica 程序如下:
当 x0=0.1,n=10 时,运行程序得
当 x0=0.5,n=10 时,运行程序得
当 x0=0.9,n=10 时,运行程序得
当 x0=1,n=10 时,运行程序得
实验结论:
10
由以上实验可得,函数 f(x)=x/2+1/x 的极限为 1.41421
运行程序结果如下:
实验结论:
试验中假设矩阵 A 的对角元素 aii<>0,i=1,2,3,…n.令 D=diag(a11,a12,,,….ann),则可以将 方程 Ax=b 转化成 x=(U+L)x+D-1b 其中 U 为下三角阵,L 为上三角阵。如果 U+L 的行列式 最大特征值的绝对值小于 1,则线性方程组有解且唯一。
写成 Ax=b 的形式, 再将其改写成 x=M*x=f 其中 M 是 n 阶矩阵, f=(f1,f2,f3,f4….fn)T 是 n 维列向量,给定 x0,由迭代 x(n+1)=M*x^n+f,n=0,1,2,3,4…..对给定的矩阵 M 数组 f 和 初始值 x0,由 x(n+1)=M*x^n+f,n=0,1,2,3,4…..用 mathematic 可得迭代结果。 迭代程序如下:
《数学实验》实验报告
班级 实验 内容 **** 学号 **** 姓名 实验 类别 **** 成绩 实验 时间

华工数学实验报告 迭代与分形

华工数学实验报告 迭代与分形

《数学实验》报告学院:电子信息学院专业班级:信息工程电联班学号:姓名:实验名称:迭代与分析实验日期:2016/05/031.实验目的了解分形几何的基本特性了解通过迭代方式产生分形图的方法欣赏美妙的分形艺术了解分形几何的简单应用2.实验任务对一条横向线段,先将其等分成4段,然后将第2段向上平移,将第3段向下平移,再将4段的相邻端点连接起来,迭代一次后变成下图。

继续迭代得到的分形图,称为Minkowski香肠。

编制程序绘制出它的图形,并计算它的分形维数。

图1Minkowski香肠1次迭代3.实验过程3.1实验原理通过观察该图形可以得知,该图形的相似形个数为8,边长放大倍数为4。

所以要把八条边进行迭代运行,同时把每个点的坐标放入数组中。

3.2算法与编程minkowski的算法代码:function plotminkowski(k)p=[0,0;10,0];n=1;A=[0,1;-1,0];for s=1:kj=0;for i=1:nq1=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;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;endn=8*n;clear p;p=[r;q2];endfigureplot(p(:,1),p(:,2)) %显示各结点的连线图axis equal3.3计算结果或图形执行命令行:plotminkowski(4)输出图形:图3.3.1四次迭代的minkowski分形图执行命令行:plotminkowski(3)输出图形:图3.3.2三次迭代的minkowski分形图执行命令行:plotminkowski(1)输出图形:图3.3.3一次迭代的minkowski分形图3.4结果分析相似形个数:m=8边长倍数:c=4minkowski分形维度d=ln m/ln c=1.54. 实验总结和实验感悟通过这次实验,我们以迭代的方式来体验生成分形图的过程,从而对分形几何有了一个直观的了解,并感受美丽的分形图案。

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

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

数学实验—实验报告(免积分)一、实验项目:Matlab 实验三—迭代 二、实验目的和要求a. 熟悉MATLAB 软件的用户环境,掌握其一般目的命令和MATLAB 数组操作与运算函数;b. 掌握MATLAB 软件的绘图命令,能够熟练应用循环和选择结构实现各种循环选择功能;c. 借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。

三、实验内容问题一:将方程535210x x x +-+=改写成各种等价的形式进行迭代 观察迭代是否收敛,并给出解释。

问题二:迭代以下函数,分析其收敛性。

4f(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,-10-50510-1-0.500.514图 (1)-4-2024-400-200200400图 (2)-1-0.500.51-505图 (3)-0.8-0.78-0.76-0.74-0.72图 (4)有图可知x 的初值在(-0.78,0.76)之间 (2)构造迭代函数()x f x =53512x x x ++= 1()x f x =22215x x x x -+-= 2()x f x =24521x x x x -+-= 3()x f x =(3)迭代 设定初值0.78x =-函数1()n n x f x -=用MATLAB 编程:x(1)=-0.77;y(1)=-0.77;z(1)=-0.77; for i=2:20x(i)=(x(i-1)^5+5*x(i-1)^3+1)/2;y(i)=(-y(i-1)^5+2*y(i-1)-1)/(5*y(i-1)^2); z(i)=(-5*z(i-1)^3+2*z(i-1)-1)/(z(i-1)^4); endn=1:20subplot(221), plot(n,x), title('f(1)'); subplot(222), plot(n,y), title('f(2)'); subplot(223), plot(n,z), title('f(3)'); 结果显示:5101520-6-4-2249f(1)510152000.511.562f(2)5101520-4-2024f(3)如图显示,显然不收敛。

迭代——方程求解(mathematica数学实验报告)

迭代——方程求解(mathematica数学实验报告)

0,1称为(f、迭代法函数的迭代是数学研究中的一个非常重要的思想工具,哪怕是对一个相当简单的函数进行迭代,都可以产生异常复杂的行为,并由此而衍生了一些崭新的学科分支,如分.同时,迭代在各种数值计算算法以及其它学科领域的诸多算法中处于核心的本实验的基本理论是分形几何学程序运行如下:练习2:利用迭代公式1(),0,1,...()n n g x x x n g x +=-=' 得到()^32g x x =-的迭代序列,其中01x =,10n =,程序运行如下:练习3:对给定的矩阵M ,数组f 和初始向量0x ,由迭代公式1n n x Mx f +=+得到的迭代序列如下:练习4:利用迭代公式11()x L D A X D b --=-+将方程组⎪⎩⎪⎨⎧=++=++11111111.......................................b x a x a b x a x a n nn n n n 即Ax b =改成多种等价形式x Mx f =+做迭代,观察其收敛状况。

给定(){}1,2,2,(1,1,1),(2,2,1)A =-与(){}2,1,1,(1,1,1),(1,1,2)A =--,运行结果如下:练习5:同练习4,给定(){}1,2,2,(1,1,1),(2,2,1)A =-与(){}2,1,1,(1,1,1),(1,1,2)A =--,利用迭代公式111()()x I L Ux I L D b ---=-+-对方程组Ax b =做迭代。

程序运行如下:实验结果和结果分析:对于书上给出的例题程序,要实际上机亲自操作一次,从而了解不同命令的不同作用,对于相似的命令要区分明白他们的不同之处。

这一章小的命令比较多,也比较杂,需要分门别类区分开,并且分别运行一下。

书后的练习题离不开前面的例题,要在掌握好例题的情况下,多练习一些习题,加深记忆。

Mathematica 在迭代法解方程组非常方。

数学建模迭代实验报告(新)

数学建模迭代实验报告(新)

非 线 性 迭 代 实 验 报 告一、实验背景与实验目的迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。

蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。

本实验在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]设()x f 是一个定义在实数域上的实值函数,如果存在u 使得()u u f =,则称u 为()x f 的不动点。

几何画板中的迭代和带参数的迭代实验报告:圆的面积公式转化

几何画板中的迭代和带参数的迭代实验报告:圆的面积公式转化

几何画板中的迭代和带参数的迭代实验报告一、实验目的1、新建参数以及参数动画按钮的制作2、掌握带参数的迭代思想和操作步骤3、学会通过了解父对象和子对象的关系来逆向分析已有的几何画板课件二、实验原理通过带参数的迭代建立参数与图形之间的关系。

制作参数动画按钮时,参数的变化引起图形个数的变化。

三、实验内容运用几何画板逆向分析圆的面积公式推导课件,并将课件还原制作出来。

四、实验课时:8课时五、实验步骤(略)一、方法:分割拼凑法、划曲为直展开法(等腰三角形)、划曲为直展开法(直角三角形)。

二、实施步骤方法一:分割拼凑法1.新建文件新建页:【文件】-【文档选项】-【增加页】-【空白页面】,命名为:圆的面积推导分割拼凑法。

2.构建参数:【数据】—【新建参数】—构建两个参数:半径r=3厘米,t1=6。

【数据】—【计算参数】—【计算2个数据:分别是2*trunc(t1) 和360度/ 2*trunc(t1) 】。

3.做圆和分割圆:选择【点工具】—在空白处做点A—(保持A为选中状态)+选中r—【构造】—【以圆心和半径作圆】—(保持圆为选中状态)【构造】—【圆上的点】(为点B)。

选中参数360度/ 2*trunc(t1) —鼠标右击—【标记角度】,【双击点A+选中点B】—【变换】—【旋转】—【确定】(得到点B’)。

依次选中点A,点B,点B’—【构造】—【圆上的弧】—(保持弧选中状态)【构造】—【弧内部】—【扇形内部】。

选中点B+选中参数2*trunc(t1)—【按住shift 键】—【变换】—【深度迭代】—【将点B迭代到点B’】—【确定】(得到一个分割好扇形的圆)。

4.做分割后的一个扇形:选中点B+选中点B’—【度量】—【距离】—(保持参数选中状态)鼠标右击【标记距离】。

选择【点工具】—在空白处作点C—【变换】—【平移】(按标记距离平移,得到点C’)。

选中点C和点C’+选中参数r —【构造】—【以圆心和半径作圆】—取两圆上面交点D.。

数学建模课实验报告心得(3篇)

数学建模课实验报告心得(3篇)

第1篇一、前言数学建模是一门将数学理论与实际问题相结合的课程,旨在培养学生运用数学知识解决实际问题的能力。

通过参加数学建模课的实验,我对数学建模有了更深刻的认识,以下是我对实验的心得体会。

二、实验过程1. 理解实验目的在实验开始前,我明确了实验的目的:通过具体实例,掌握数学建模的基本思想和方法,提高自己的实际应用能力。

这使我更加有针对性地进行实验。

2. 实验步骤(1)选题:选择一个实际问题,明确问题的背景、目标和所需解决的问题。

(2)建立模型:运用数学知识,将实际问题转化为数学模型。

(3)求解模型:利用数学软件,对模型进行求解,得到最优解或近似解。

(4)分析结果:对求解结果进行分析,评估其合理性和可行性。

(5)撰写实验报告:总结实验过程、结果和分析,撰写实验报告。

3. 实验成果通过实验,我成功地将一个实际问题转化为数学模型,并利用数学软件求解得到最优解。

同时,我学会了如何分析结果,评估其合理性和可行性。

三、心得体会1. 数学建模的重要性数学建模是解决实际问题的有效途径。

通过数学建模,我们可以将复杂的问题简化为数学模型,从而提高解决问题的效率。

在实验过程中,我深刻体会到了数学建模在解决实际问题中的重要性。

2. 数学知识的运用数学建模实验使我更加深入地理解了所学数学知识,并将其应用于实际问题。

在实验过程中,我运用了线性规划、概率论、统计学等多种数学知识,提高了自己的综合运用能力。

3. 团队合作精神数学建模实验需要团队合作,共同完成实验任务。

在实验过程中,我与团队成员相互学习、相互帮助,共同攻克难题。

这使我认识到团队合作的重要性,培养了团队协作精神。

4. 实验技能的提升通过实验,我熟练掌握了数学建模的基本步骤,提高了自己的实验技能。

同时,我学会了使用数学软件进行求解和分析,为今后从事相关领域的工作打下了基础。

5. 分析问题的能力在实验过程中,我学会了如何分析问题,寻找问题的本质。

这使我具备了解决实际问题的能力,为今后的学习和工作奠定了基础。

迭代——方程求解、混沌实验报告

迭代——方程求解、混沌实验报告

设计题四:求线性方程的根组员:鲁利萍章程冯山林班级:信息与计算科学081指导教师:吴梅君完成日期:12月12日目录实验二十四:迭代——方程求解、混沌 (3)一、实验指导书解读 (3)二、试验计划 (3)1、迭代序列 (3)2、方程求根 (5)3、线性方程组的迭代求解 (6)4、蜘蛛网 (6)5、Feigenbaum图 (7)6、Logistic映射 (8)7、“听一听”混沌 (8)三、实验过程与结果 (8)1、迭代序列 (8)2、方程求根 (13)3、线性方程组的迭代求解 (14)4、蜘蛛网 (15)5、Feigenbaum图 (16)6、Logistic映射 (19)7、“听一听”混沌 (20)四、实验总结: (20)实验二十四:迭代——方程求解、混沌实验报告一、实验指导书解读本实验主要做三方面的工作:一是通过若干个函数通过迭代利用计算机求函数的不动点的近似值,在有关程序中改变有关参数值、初值、函数而体会序列敛散性(速度),通过蛛网图利用函数在不动点的导数来刻画不动点的类型;二是对一个方程(组)或几个方程(组)利用迭代求根(解),观察初值对序列敛散性的影响,比较不同迭代所形成的序列的求解效果,思考或研究有效迭代的条件;三是通过Logistic迭代函数中参数a的不同取值利用计算机研究序列发散时出现的周期收敛,利用计算机进行不同次数的迭代对Feigenbaum图体会分形的层次性与自相似性。

二、试验计划1、迭代序列(1)研究函数f(x)=(25x-85)/(x+3)的蛛网图(2)给定初值1及迭代函数f(x)=x/2+1/x,迭代n次产生相应的序列(3)给定初值1,分别就f(x)=(-x+15)/(x+1),g(x)=sinx做迭代序列{Xn}实验思路改变有关参数值、初值、函数思考:观察序列的通项并判断其敛散性,通过蛛网图利用函数在不动点的导数来刻画不动点的类型。

2、方程求根用迭代序列求g(x)=x^3-2x+1的根实验思路:改变初值思考:观察实验结果,求出方程的根3、线性方程组的迭代求解对给定的矩阵M,数组f和初始向量x^0,由已知的迭代结果求出线性方程组的解实验思路改变初值思考:观察结果,求出线性方程组的解;研究矩阵M的特征值对迭代序列的收敛性有何关系。

迭代法实验报告

迭代法实验报告

迭代法实验报告 一. 实验目的:掌握迭代方法的用处 二. 实验环境: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 进行计算,当12k 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;doublenum[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 输入矩阵数字):");//输入矩阵的阶数scanf("%d",&n1);for(int i=0;i<n1;i++)//输入矩阵的数{printf("输入第%d行数字为(按Enter进入下一行的输入):",i+1);for(int j=0;j<n1;j++){scanf("%lf",&num[i][j]);}}//输入矩阵的数结束for(int i=0;i<n1;i++)//求解对角线上的矩阵数{for(int j=0;j<n1;j++){if(i==j){D[i][j]=num[i][j];L[i][j]=0;U[i][j]=0;}if(i>j){L[i][j]=-num[i][j];}if(i<j){U[i][j]=-num[i][j];}}}//求解对角线上的矩阵数结束printf("=================================输出D的矩阵为==================================");for(int i=0;i<n1;i++)//输出D矩阵 {for(int j=0;j<n1;j++){printf("%10lf",D[i][j]);}printf("\n");}printf("\n");printf("=================================输出L的矩阵为==================================");for(int i=0;i<n1;i++)//输出L矩阵{for(int j=0;j<n1;j++){printf("%10lf",L[i][j]);}printf("\n");}printf("\n");printf("=================================输出U的矩阵为==================================");for(int i=0;i<n1;i++)//输出U矩阵{for(int j=0;j<n1;j++){printf("%10lf",U[i][j]);}printf("\n");}printf("输入矩阵右端常数为(以空格隔开,按回车进行下一步):");//输入b的值for(int i=0;i<n1;i++){scanf("%lf",&b[i]);}//输入b的值结束printf("输入初始化x(0)的矩阵值(以空格隔开,按回车得到结果):");//输入x的值for(int i=0;i<n1;i++){scanf("%lf",&x2[0][i]);}while(pan1)//高斯迭代法的for语句部分 {for(int i=0;i<n1;i++){for(int j=0;j<i;j++){num1+=num[i][j]*x2[k+1][j];}for(int j1=i+1;j1<n1;j1++){num1+=num[i][j1]*x2[k][j1];}x2[k+1][i]=(b[i]-num1)/num[i][i];num1=0;}for(int i=0;i<n1;i++) {if(fabsf(x2[k+1][i]-x2[k][i])<0.002) {n2++;}}if(n2==n1){pan1=false; }else{k++;pan1=true; }}//高斯迭代法的for语句部分结束printf("迭代次数k的值为:%d\n",k);//输出迭代次数printf("输出的迭代法解的结果为:\n"); for(int i=0;i<n1;i++)//输出x的解{printf("第%d个x的值为:%lf\n",i+1,x2[k][i]);}printf("\n");}八.运行结果如下:九.实验心得:高斯=赛德尔迭代法其系数矩阵是严格对角占优的,所以高斯=赛德尔迭代法有很好的收敛性。

数学建模实验报告 (2)

数学建模实验报告 (2)
h=(b-a)/N; T=zeros(1,N+1); Y=zeros(1,N+1); T=a:h:b; Y(1)=ya; for j=1:N Y(j+1)=Y(j)+h*feval('f',T(j),Y(j)); Y1(j+1)=Y(j)+h/2*feval('f',T(j+1),Y(j+1)); end plot (T,Y,'r*') T1=[T',Y'] T2=0:0.01:1; Y2=sqrt(1+2*T2); hold on ; plot(T2,Y2); hold off;
3
结论 (结 果)
小结 (对 本次 实验 的思 考和 建 议) 指导教师评分(包括对实验的预习、操作和结果的综合评分) :
指导教师总评:
签名:
日期:
4
2
*表示红色的散点,蓝色表示原函数的曲线
for j=1:N Y(j+1)=Y(j)+h*feval('f',T(j),Y(j)); Y1(j+1)=Y(j)+h/2*feval('f',T(j+1),Y(j+1)); end
此处是双重迭代,根据下面这个式子迭代的,可以使得到的值更加精确
y (0) yn hf ( xn , yn ) n 1 ( k 1) h (k ) y n 1 y n [ f ( x n , y n ) f ( x n 1 , y n 1 ] 2 ( k 0 ,1, 2 , )
在命令窗输入 euler('f',0,1,1,10)得到: 把这个输入到命令窗 euler('f',0,1,1,10)就可以得到结果 euler('f',0,1,1,10) z= 1 z= 0.9182 z= 0.8562 z= 0.8077

大学数学实验报告----迭代

大学数学实验报告----迭代

数学实验报告综合实验迭代学院:数学与信息科学学院班级: 09级数学(4)班姓名:***学号:***综合实验——迭代给定实数域上光滑的实值函数()f x 以及初值0x 定义数列1(),0,1,n n x f x n +==⋅⋅⋅,n x ,0,1,n =⋅⋅⋅,称为()f x 的一个迭代数列.函数的迭代是数学研究中的一个非常重要的思想工具.哪怕是对一个相当简单的函数进行迭代,都可以产生异常复杂的行为,并由此而衍生了一些崭新的学科分支,如分型与混沌.同时,迭代在各种数值计算方法以及其他学科领域的诸多算法中处于核心的地位.我们将通过一系列实验介绍迭代在诸多领域的应用。

一、迭代(方程求解)二、迭代(分形)③按Shift 和Enter 键运行。

运行结果:redosierpinski ptlist_List : Blockt mp ,i,pnum Length ptlist3 ,For i 0,i pnum,i i 1,tmp Join t mp, ptlist3i 1,ptlist 3i 1 ptlist 3i 2 2, ptlist 3i 1 ptlist 3i 3 2, ptlist 3i 1 ptlist3i 2 2,ptlist 3i 2 ,ptlist 3i 2 ptlist 3i 3 2, ptlist 3i 1 ptlist 3i 3 2, ptlist3i 2ptlist3i 32,ptlist 3i 3 ;tmpshowsierpinski ptlist_List : Blockt mp ,i,pnum Length ptlist3 ,For i 0,i pnum,i i 1,AppendTo t mp,Polygonptlist3i 1,ptlist3i 2ptlist3i 3;Show G raphics t mp ,AspectRatio 1 GoldenRat po1 1,0 , 1,0 , 0,Sqrt 3;showsierpinski Nest r edosierpinski,po1,4三、复变函数迭代1.510.5-0.5-1-1.5-1.5-1-0.500.511.510.5-0.5-1-1.5-1.5-1-0.500.51 0.30.20.1-0.1-0.7-0.65-0.6-0.55-0.5-0.45四、迭代(混沌)五、迭代(几何形状的构造)。

迭代法实验报告

迭代法实验报告

一、课题名称Matlab解线性方程组的迭代法二、目的和意义1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较;2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序;3、体会上机计算时,终止步骤(予给的迭代次数),对迭代法敛散性的意义;4、体会初始解 x(,松弛因子的选取,对计算结果的影响三、实验要求1、体会迭代法求解线性方程组,并能与消去法做以比较;2、分别对不同精度要求,如由迭代次数体会该迭代法的收敛快慢; 54310,10,10−8722 .−s23 =ε3、对方程组2,3使用SOR方法时,选取松弛因子ω=0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者;4、给出各种算法的设计程序和计算结果。

四、问题描述给出下列几个不同类型的线性方程组,请用适当算法计算其解。

a=[4 -1 0 0 0 0 0 0 0 0 ;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0 0 -1 4 -1 0 0 0 0; 0 0 0 0 -1 4 -1 0 0 0; 0 0 0 0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0; 0 0 0 0 0 0 0 -1 4 -1; 0 0 0 0 0 0 0 0 -1 4];b=[7 5 -13 2 6 -12 14 -4 5 -5];n=10;x=[0 0 0 0 0 0 0 0 0 0];六、实验程序设计Jacobi 迭代法function z=chap8_7(a,b,n,x)for k=1:19for i=1:ns=0;for j=1:nif j~=i,s=s+a(i,j)*x(j);endendy(i)=(b(i)-s)/a(i,i);endx=y;x;endz=x计算方程组一>>a=[4,2,-3,-1,2,1,0,0,0,0;8,6,-5,-3,6,5,0,1,0,0;4,2,-2,-1,3,2,-1,0,3,1;0,-2,1, 5,-1,3,-1,1,9,4;-4,2,6,-1,6,7,-3,3,2,3;8,6,-8,5,7,17,2,6,-3,5;0,2,-1,3,-4,2,5,3 ,0,1;16,10,-11,-9,17,34,2,-1,2,2;4,6,2,-7,13,9,2,0,12,4;0,0,-1,8,-3,-24,-8,6,3, -1];>> b=[5;12;3;2;3;46;13;38;19;-21];>> n=10;>> x=[0 0 0 0 0 0 0 0 0 0]';>> z=chap8_7(a,b,n,x);z =1.0e+012 *Columns 1 through 9-0.0809 -0.1452 -0.3955 0.8764 0.5509 0.2161 0.1732 1.9353 0.2550Column 10-1.8123计算方程组二>> a=[4 2 -4 0 2 4 0 0 ; 2 2 -1 -2 1 3 2 0; -4 -1 14 1 -8 -3 5 6;0 -2 1 6 -1 -4 -3 3; 2 1 -8 -1 22 4 -10-3; 4 3 -3 -4 4 11 1 -4;0 2 5 -3 -10 1 14 2;0 0 6 3 -3 -4 2 19];>> b=[0 -6 20 23 9 -22 -15 45];>> n=8;>> x=[0 0 0 0 0 0 0 0]';>> z=chap8_7(a,b,n,x);z =1.0e+005 *-2.6705 -4.0285 1.0957 1.5976 -0.6513 -1.7472 -0.0556 0.5478计算方程组三>> a=[4 -1 0 0 0 0 0 0 0 0 ;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0 0 -1 4-1 0 0 0 0; 0 0 0 0 -1 4 -1 0 0 0; 0 0 0 0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0; 0 0 0 0 0 0 0 -1 4 -1; 0 00 0 0 0 0 0 -1 4];>> b=[7 5 -13 2 6 -12 14 -4 5 -5];>> n=10;>> x=[0 0 0 0 0 0 0 0 0 0];>> z=chap8_7(a,b,n,x);z =2.0000 1.0000 -3.0000 -0.0000 1.0000 -2.0000 3.0000 -0.0000 1.0000 -1.0000Gauss-Seidol迭代法function z=chap8_8(a,b,n,x)for k=1:19for i=1:ns=0;for j=1:i-1s=s+a(i,j)*y(j);ends1=0;for j=i+1:ns1=s1+a(i,j)*x(j);endy(i)=(b(i)-s-s1)/a(i,i);endx=y;x;endz=x计算方程组一>>a=[4,2,-3,-1,2,1,0,0,0,0;8,6,-5,-3,6,5,0,1,0,0;4,2,-2,-1,3,2,-1,0,3,1;0,-2,1,5,-1,3,-1,1,9,4;-4,2,6,-1,6, 7,-3,3,2,3;8,6,-8,5,7,17,2,6,-3,5;0,2,-1,3,-4,2,5,3,0,1;16,10,-11,-9,17,34,2,-1,2,2;4,6,2,-7,13,9,2,0,1 2,4;0,0,-1,8,-3,-24,-8,6,3,-1];>> b=[5;12;3;2;3;46;13;38;19;-21];>> n=10;>> x=[0 0 0 0 0 0 0 0 0 0]';>> z=chap8_8(a,b,n,x);z =1.0e+024 *0.0088 -0.0144 0.1171 -0.2433 -0.3164 0.1669 -0.2330 1.1938 0.0220 3.9729计算方程组二>> a=[4 2 -4 0 2 4 0 0 ; 2 2 -1 -2 1 3 2 0; -4 -1 14 1 -8 -3 5 6;0 -2 1 6 -1 -4 -3 3; 2 1 -8 -1 22 4 -10 -3; 4 3 -3 -4 4 11 1 -4;0 2 5 -3 -10 1 14 2;0 0 6 3 -3 -4 2 19];>> b=[0 -6 20 23 9 -22 -15 45];>> n=8;>> x=[0 0 0 0 0 0 0 0]';>> z=chap8_8(a,b,n,x);z =12.8578 -12.8010 4.3202 -3.8776 1.9548 -3.6841 -0.1256 1.1627计算方程组三>> a=[4 -1 0 0 0 0 0 0 0 0 ;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0 0 -1 4 -1 0 0 0 0; 0 0 0 0 -1 4 -1 0 0 0; 0 0 0 0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0; 0 0 0 0 0 0 0 -1 4 -1; 0 0 0 0 0 0 0 0 -1 4];>> b=[7 5 -13 2 6 -12 14 -4 5 -5];>> n=10;>> x=[0 0 0 0 0 0 0 0 0 0];>> z=chap8_8(a,b,n,x);z =2.0000 1.0000 -3.0000 -0.0000 1.0000 -2.0000 3.0000 -0.0000 1.0000 -1.0000七、实验结果分析直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3数量级,存储量为n2量级,这在n比较小的时候还比较合适(n<1000 , 1G/s , 15秒 , 8M),但是对于现在的很多实际问题,往往要我们求解很大的n的矩阵,而且这些矩阵往往是系数矩阵就是这些矩阵含有大量的0元素。

初中数学建模实验报告(3篇)

初中数学建模实验报告(3篇)

第1篇一、实验背景随着科学技术的飞速发展,数学建模作为一种重要的科学研究方法,越来越受到人们的重视。

初中数学建模实验旨在培养学生运用数学知识解决实际问题的能力,提高学生的创新思维和团队协作能力。

本实验以某市居民出行方式选择为研究对象,通过建立数学模型,分析不同因素对居民出行方式的影响。

二、实验目的1. 理解数学建模的基本概念和步骤。

2. 学会运用数学知识分析实际问题。

3. 培养学生的创新思维和团队协作能力。

4. 提高学生运用数学知识解决实际问题的能力。

三、实验方法1. 收集数据:通过网络、调查问卷等方式收集某市居民出行方式选择的相关数据。

2. 数据处理:对收集到的数据进行整理、清洗和分析,为建立数学模型提供依据。

3. 建立模型:根据数据分析结果,选择合适的数学模型,如线性回归模型、多元回归模型等。

4. 模型求解:运用数学软件或编程工具求解模型,得到预测结果。

5. 模型验证:将预测结果与实际数据进行对比,验证模型的准确性。

四、实验过程1. 数据收集:通过问卷调查的方式,收集了500份某市居民的出行方式选择数据,包括出行距离、出行时间、出行目的、出行方式等。

2. 数据处理:对收集到的数据进行整理和清洗,剔除无效数据,得到有效数据490份。

3. 建立模型:根据数据分析结果,选择多元回归模型作为本次实验的数学模型。

4. 模型求解:利用SPSS软件对多元回归模型进行求解,得到以下结果:- 模型方程:Y = 0.05X1 + 0.03X2 + 0.02X3 + 0.01X4 + 0.005X5 + 0.002X6 + 0.001X7 + 0.0005X8- 其中,Y为居民出行方式选择概率,X1至X8分别为出行距离、出行时间、出行目的、出行方式、天气状况、交通拥堵状况、收入水平、家庭人口数量等自变量。

5. 模型验证:将模型预测结果与实际数据进行对比,结果显示模型具有较高的预测准确性。

五、实验结果与分析1. 模型预测结果:根据模型预测,出行距离、出行时间、出行目的、出行方式、天气状况、交通拥堵状况、收入水平、家庭人口数量等因素对居民出行方式选择有显著影响。

迭代法实验报告

迭代法实验报告

迭代法实验报告迭代法实验报告引言:迭代法是一种常见的数值计算方法,通过反复迭代逼近解的过程,来解决一些复杂的数学问题。

本实验旨在通过实际操作,深入理解迭代法的原理和应用,并通过实验数据验证其有效性。

一、实验目的本实验的主要目的有以下几点:1. 掌握迭代法的基本原理和步骤;2. 熟悉迭代法在数值计算中的应用;3. 理解迭代法的收敛性和稳定性;4. 验证迭代法在实际问题中的有效性。

二、实验原理迭代法是一种通过不断逼近解的方法,其基本原理可概括为以下几步:1. 选择一个初始值作为迭代的起点;2. 根据问题的特点和要求,构造一个递推公式;3. 通过不断迭代计算,逐步逼近解;4. 判断迭代过程是否收敛,并确定最终的解。

三、实验步骤1. 选择合适的初始值。

初始值的选择对迭代的结果有重要影响,通常需要根据问题的特点进行合理选取。

2. 构造递推公式。

根据问题的数学模型,建立递推公式,将问题转化为迭代求解的形式。

3. 进行迭代计算。

根据递推公式,进行迭代计算,直到满足收敛条件或达到预定的迭代次数。

4. 判断迭代结果。

根据实际问题的要求,判断迭代结果是否满足精度要求,并进行相应的调整和优化。

四、实验结果与分析通过实验操作,我们得到了一组迭代计算的结果。

根据实验数据,我们可以进行以下分析:1. 收敛性分析。

通过观察迭代过程中的数值变化,我们可以判断迭代法的收敛性。

如果数值逐渐趋于稳定,且与理论解的误差在可接受范围内,说明迭代法收敛。

2. 稳定性分析。

迭代法的稳定性是指在初始值变化时,迭代结果是否保持稳定。

通过改变初始值,我们可以观察迭代结果的变化情况,从而评估迭代法的稳定性。

3. 精度分析。

迭代法的精度取决于迭代过程中的误差累积情况。

通过与理论解的比较,我们可以评估迭代法的精度,并对迭代过程进行优化。

五、实验结论通过本次实验,我们深入了解了迭代法的原理和应用,通过实际操作验证了迭代法在数值计算中的有效性。

实验结果表明,迭代法在解决复杂数学问题中具有较高的准确性和稳定性,能够满足实际应用的需求。

迭代法求解方程问题实验报告

迭代法求解方程问题实验报告

迭代法求解方程问题实验报告姓名:殷伯旭 班级:信计0801班 学号:u200810065一. 实验目的运用数学知识与matlab 相结合,运用数学方法,建立数学模型,用matlab 软件辅助求解模型,解决实际问题。

二. 实验任务求方程1020x e x +-=的一个近似解,误差不超过410-,要求: 设计4种求解的迭代法,讨论其收敛性,并求出满足精度的近似解;三. 实验分析与求解题目要求设计四种迭代方法,我们考虑用书上的四种迭代思想:方法一:用Steffenson 迭代法,首先构造函数:2()10xe g x -=, 则迭代公式为:21(())k k k k k k kg x x x x +-=- 方法二:一般的迭代法,1210k k x e x +-=方法三:单点弦截法法,固定01()()()()0.25,f a b a f b f a a x x --==-, 其中端点120,a b ==,则迭代公式为:010()()()()k k k k k f x x x x x f x f x +=--- 方法四:双点弦截法法,迭代公式为:111()()()()k k k k k k k f x x x x x f x f x +--=--- 实验程序:function shiyan112%%%%%方法一: stefften 迭代x0=0.25;g0=(2-exp(x0))/10;gg0=(2-exp(g0))/10;x1=x0-(g0-x0)^2/(gg0-2*g0+x0);n1=0;while abs(x1-x0)>0.00001x0=x1;g0=(2-exp(x0))/10;gg0=(2-exp(g0))/10;x1=x0-(g0-x0)^2/(gg0-2*g0+x0);n1=n1+1;x(n1)=x1;endn1x0=x1%%%%%方法二: 一般迭代x20=0.25;x21=(2-exp(x20))/10;n2=0;while abs(x21-x20)>0.00001x20=x21;x21=(2-exp(x20))/10;n2=n2+1;endn2x20=x21%%%%%方法三: 单点弦截法x30=0.25;a=0;b=0.5;n3=0;fa=exp(a)+10*a-2;fb=exp(b)+10*b-2;x31=a-fa*(b-a)/(fb-fa);f30=exp(x30)+10*x30-2;f31=exp(x31)+10*x31-2;x32=x31-f31*(x31-x30)/(f31-f30); while abs(x32-x31)>0.00001x31=x32;f31=exp(x31)+10*x31-2;x32=x31-f31*(x31-x30)/(f31-f30);n3=n3+1;endn3x30=x32%%%%%%%方法四:双点弦截法x40=0.25;x41=0.5;n4=0;f40=exp(x40)+10*x40-2;f41=exp(x41)+10*x41-2;x42=x41-f41*(x41-x40)/(f41-f40);while abs(x42-x41)>0.00001x40=x41;x41=x42;f40=exp(x40)+10*x40-2;f41=exp(x41)+10*x41-2;x42=x41-f41*(x41-x40)/(f41-f40);n4=n4+1;endn4x40=x42运行结果:(1) 方法一: x =0.0905 ; 迭代次数: n1 = 2(2)方法二: x =0.0905 ; 迭代次数: n2 = 5(3) 方法三: x =0.0905 ; 迭代次数: n3 = 2(4) 方法四: x =0.0905 ; 迭代次数: n4 =33)实验总结通过自主学习matlab,编程能力有了较大提高,并将其应用于数值代数刚学的一种思想,在加深对该领域印象的同时对matlab有了更深一层的了解。

数值分析实验报告之迭代法求非线性方程的根

数值分析实验报告之迭代法求非线性方程的根

数值分析实验报告之迭代法求非线性方程的根1.实验目的掌握迭代法求非线性方程根的基本原理和使用方法,加深对数值计算方法的理解与应用。

2.实验原理迭代法是一种通过不断逼近的方法求解非线性方程的根。

根据不同的函数特点和问题需求,可以选择不同的迭代公式进行计算,如牛顿迭代法、二分法、弦截法等。

3.实验内容本次实验使用牛顿迭代法求解非线性方程的根。

牛顿迭代法基于函数的局部线性逼近,通过不断迭代逼近零点,直至满足收敛条件。

具体步骤如下:Step 1:选择初始点X0。

Step 2:计算函数f(x)在X0处的导数f'(x0)。

Step 3:计算迭代公式Xn+1 = Xn - f(Xn) / f'(Xn)。

Step 4:判断收敛准则,若满足则迭代结束,输出解Xn;否则返回Step 2,继续迭代。

Step 5:根据实际情况判断迭代过程是否收敛,并输出结果。

4.实验步骤步骤一:选择初始点。

根据非线性方程的特点,选择恰当的初始点,以便迭代公式收敛。

步骤二:计算导数。

根据选择的非线性方程,计算函数f(x)的导数f'(x0),作为迭代公式的计算基础。

步骤三:迭代计算。

根据迭代公式Xn+1=Xn-f(Xn)/f'(Xn),计算下一个迭代点Xn+1步骤四:判断收敛。

判断迭代过程是否满足收敛条件,通常可以通过设置迭代次数上限、判断前后两次迭代结果的差值是否足够小等方式进行判断。

步骤五:输出结果。

根据实际情况,输出最终的迭代结果。

5.实验结果与分析以求解非线性方程f(x)=x^3-x-1为例,选择初始点X0=1进行迭代计算。

根据函数f(x)的导数计算公式,得到导数f'(x0)=3x0^2-1,即f'(1)=2根据迭代公式Xn+1=Xn-f(Xn)/f'(Xn),带入计算可得:X1=X0-(X0^3-X0-1)/(3X0^2-1)=1-(1-1-1)/(3-1)=1-0/2=1根据收敛准则,判断迭代结果是否满足收敛条件。

数学实验综合实验实验报告

数学实验综合实验实验报告

数学与统计学院数学综合实验报告班级:2012级数学三班姓名:刘华强学号:201278010332数学综合实验报告——迭代(方程求解、分形)实验一:迭代(一)——方程求解一、实验的目的函数的迭代是数学研究中的一个非常重要的思想工具,本实验将探讨迭代在方程求解中的应用。

通过编程演示利用迭代求解方程(组)的近似解,深刻了解其求解过程。

还可以通过上机来增强自己的动手能力及实践创新能力。

二、实验的环境基于window 系统下的Mathematica 4.0软件并使用Print Screen 截图软件、Word 文档、课本。

三、实验的基本理论方法使用Mathematica 4.0编写程序语言并求出结果。

四、实验的内容和步骤及得到的结果和结果分析实验1.1:给定初值0x 及迭代函数()x f ,迭代n 次产生相应的序列。

①实验内容:给定初值10=x 及迭代函数()22x x x f +=,迭代10次产生的序列。

②实验步骤:在Mathematica 4.0输入语句如下:③实验结果:④结果分析:从实验结果可以看出给定初值10=x 及迭代函数()22x x x f +=,迭代10次产生的序列结果收敛于1.41421。

实验1.2:由迭代公式(5)(()().1,0,1⋅⋅⋅='-=+n x g x g x x n n n n )产生的迭代序列。

①实验内容:取初值10=x 将方程023=-x 利用迭代公式(5):()().1,0,1⋅⋅⋅='-=+n x g x g x x n n n n 的形式迭代10次。

②实验步骤:在Mathematica 4.0输入语句如下:③实验结果:④结果分析:从实验结果可以看出给定初值10=x 将方程023=-x 利用迭代公式(5)的形式迭代10次产生的序列结果收敛于1.25992104989487316。

我们还可以发现,使用改进的迭代公式求方程的解,它的收敛速度比其他的迭代公式要快,而且随着迭代次数的增加,迭代值趋于稳定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AppendTo[pilist, {i, temp2-temp1}];
];
ListPlot[pilist, PlotJoined -> True]
]
Sensitivity[50, 0.1, 0.1001]
一个简单的、确定的二次选代可以产生非常复杂的、看似随机的行为。但是,混沌不等于随机。实际上,在混沌区域之内,蕴涵着许多有序的规律。这正验证了哲学上的名言:有序中包含了无序,无序中包含着有序。其Mathematica程序:
将区间(0,4]以某个步长 离散化,对每个离散的 值做迭代(2.2.2),忽略前50个迭代值,而把点 , ,…, 显示在坐标平面上,最后形成的图形称为Feigenbaum图。Mathematica程序:
Clear[f, a, x]; f[a_, x_] := a*x*(1 - x);
x0 = 0.5; r = {};
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],
Sensitivity[n_Integer, x01_, x02_] :=
Module[
{pilist = {}, i, temp1=x01, temp2=x02},
For[i=1, i <= n, i++, temp1=4*temp1*(1-temp1);
temp2=4*temp2*(1-temp2);
DisplayFunction -> $DisplayFunction]
用迭代法求解线性方程组的思想与方程求根的方法是类似的,用迭代方法也可以求更加复杂的非线性方程组的解。由于非线性方程组可能有许多解(甚至有无穷多个解),因此对它的求解比线性方程组的求解要面临更多的挑战。
线性方程组 由 ( )给出迭代的Mathematica程序:
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]
所谓一个迭代对初值是敏感的意思是,无论两个初值如何接近,在迭代过程中它们将渐渐分开。这是任何一个混沌系统都具有的特性之一,这种特性使得混沌系统会产生似乎是随机的、没有规律的现象。在Logistic映射中,取 ,任取两个初值使得它们之间的差的绝对值不超过0.l,运行下列程序,观察结果后回答问题:在迭代过程中它们逐渐分开吗?如果两个初值之间的差的绝对值不超过0.01,0.001,结果会如何?由此得出,函数 的迭代对初值是否敏感?其Mathematica程序:
x[0]=x0;
x[i_]:=f[x[i-1]];(定义序列)
t=Table[x[i],{i,1,10}]//N
ListPlot[t](散点图)
观察蜘蛛网通过改变初值,你能得出什么结论?
如果只需迭代 次产生相应的序列,用下列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]
设 是一个定义在实数域上的实值函数,如果存在 使得 ,则称 为 的不动点。我们用 表示这件事。如果所有附近的点在选代过程中都趋向于某个不动点,则该不动点称为吸引点,有时也称该不动点是稳定的。如果所有附近的点在选代过程中都远离它而去,则该不动点称为排斥点,有时也称该不动点是不稳定的。
2.2Logistic映射与混沌
从形如 的二次函数开始做迭代
(2.2.2)
这里, 是一个参数。对不同的 系统地观察迭代(2.2.2)的行为。Mathematica程序:
IterGeo[a_, x0_] :=
Module[
{p1, p2, i, pointlist = {}, v= x0, fv= a*x0*(1 - x0)},
另一个说明混沌不是随机的事实是,混沌区域有许多有序的窗口。将这些窗口放大可以看到令人振奋的自相似现象,同时还有许多周期轨道。在Feigenbaum图的右部,你应当能看到一个由三条曲线穿过的空白带,它是一个“周期为3的窗口”。你能找到其它窗口吗?它们的周期是什么?窗口里有什么图案?这些窗口跟上题的第二问中的 周期轨道有什么关系?
, (2.2.1)
称为 的一个迭代序列。
函数的迭代是数学研究中的一个非常重要的思想工具,利用迭代序列可以研究函数 的不动点。
对函数的迭代过程,我们可以用几何图象来直观地显示它——“蜘蛛网”。运行下列Mathematica程序:
Clear[f]
f[x_] := (25*x - 85)/(x + 3);(实验时需改变函数)
p1=Plot[ {a*x*(1 - x), x}, {x, 0, 1}, DisplayFunction -> Identity];
AppendTo[pointlist, {x0, 0}];
For[i = 1, i < 20, i++, AppendTo[pointlist, {v, fv}];
AppendTo[pointlist, {fv, fv}];
如果 , ,…, 且 ,则 形成一个 循环,用 记这个事实。 称为一个 周期点, 称为一个周期轨道。显然,不动点就是周期为1的周期点。类似于不动点,如果所有附近的点在迭代过程中都趋向于某个周期点,则该周期点称为吸引点;如果所有附近的点在迭代过程中都远离它而去,则该周期点称为排斥点。如果点 最终落于某个循环之中,则称它是一个预周期点。例如,l是 的预周期点。
对于代数方程g(x)=0,其根可用下列程序求得
Solve[g(x)= = 0 , x]
也可用下列程序求得
g[x_]:=expr
Plot[g[x],{x,a,b}]
FindRoot[g(x)= = 0 ,{x,x0}]
将方程 改写为等价的方程 ,然后选取一初值利用(2.2.1)作迭代,迭代数列 收敛的极限就是方程 的解。即求方程 的根等价于求函数 的不动点。注意:由 可得不同的等价的方程 。例如取 ,而 可取为 , ,也可取为 。
v= fv; fv= 4*v*(1 - v)];
p2=ListPlot[pointlist, PlotJoined -> True,
DisplayFunction -> Identity];
Show[{p1, p2}, DisplayFunction -> $DisplayFunction]
]
IterGeo[2.6, 0.3]
由于不动点分吸引型和排斥型,因此 的根为 的排斥不动点时,就不能通过迭代函数 以及一个初值 利用(2.2.1)迭代求解,因为此时得到的数列 不收敛。这时需要新的方法,Newton切线法就是其中之一。其迭代数列Mathematica程序如下:
Iterate[f_,x0_,n_Integer]:=
Module[{ t={},temp= x0},
运行下列程序,听一听混沌的声音
PlayChaos[n_Integer, x0_] :=
Module[
{t = {}, i, temp = x0},
For[i = 1, i <= n, i++, temp = 4*temp*(1 - temp);
AppendTo[t, Floor[temp*100]]];
本实验在Mathematica平台上首先利用蛛网图和迭代数列研究不动点的类型;其次通过蛛网图和迭代数列研究Logistic映射,探索周期点的性质、认识混沌现象;第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;最后,利用结点迭代探索分形的性质。
二、实验材料
2.1迭代序列与不动点
给定实数域上光滑的实值函数 以及初值 ,定义数列
distrib[n_Integer,m_Integer,x0_]:=
Module[{i,temp=x0,g1,f,k,c=Table[0,{i,m}]},For[i=1,in,i++,temp=4*temp*(1-temp);
If[temp1,c[[m]]++,c[[Floor[temp*m]+1]]++]];
If[h[x0]≠0,x1=N[x0-f[x0]/h[x0],20]];
r = Append[r, Graphics[{RGBColor[0, 0, 1],
Line[{{x0, 0},
{x0, f[x0]},ห้องสมุดไป่ตู้{x1, 0}}]
相关文档
最新文档