您好,欢迎来到钮旅网。
搜索
您的当前位置:首页《数学实验》实验报告——迭代法

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

来源:钮旅网


《数学实验》实验报告

班级 **** 学号 **** 姓名 **** 成绩 实验实验 实验 内容 迭代法 类别 自选实验 时间 2011.6.7 实验问题: n元线性方程组 a11x1a12x2a1nxn0a21x1a22x2a2nxn0am1x1am2x2amnxn0 实验目的: (1)了解、掌握迭代法并且会熟练运用迭代法。 (2)通过多个实例研究知道的迭代数列的收敛性,比较多次实验的结果,继而得出相应结论。 (3)通过理论知识以及多个实例,结合目的(2)学习线性方程组的迭代求解,通过多次举例实验得出相应结论。 (4)同目的(3)类似学习非线性方程组的迭代求解,同样通过理论实例得出相应结论。 问题分析: 本实验通过给定的一个实数域上光滑的实值函数f(x)以及一个初值X0,之后,将X0代入所给的f(x)得到一个函数值f(x0)记为X1;再将得到的X1代入函数f(x)中得到f(x1),记为X2;将X2代入f(x)中得到f(x2)记为X3,再将X3代入函数f(x)…….. 重复上述过程,当将Xn代入f(x)中得到Xn+1即Xn+1=f(Xn)。其中{Xn}(n=0 1 2 3 ..)为f(x)的一个迭代序列。通过得到的迭代序列{Xn},可以了解迭代序列{Xn}的敛散性:当n趋向无穷大时,如果{Xn}收敛于某个X*,则得到X*=f(X*),即:X*为X=f(X)的解。 由以上理论支撑就可以利用迭代法求解某个方程的根继而就可以求解线性方程组的解、非线性方程组的解。 求解线形方程时,线形方程组的系数矩阵A的行列式非零时方程组有唯一解,将方程组改写成x=Mx+f的形式(f为n阶矩阵,f=(f1,f2,……,fn)T是n 维列向量,给定x0,由迭代方程X^(n+1)=M*X^n+f,n=0,1,2,…..确定向量序列x^n,如果x^n收敛至向量x*,则有

x*=Mx*+f,即x*为方程组的解。 求解非线性方程组时,其可能有很多解,求解过程同求解线性方程组类似。 实验步骤: (1)方程求根 用迭代序列求解,其编写程序如下: 其中,f[x_]:=所给方程, x0为所给初始值(x0应该给多组,用不同的初始值代入所给 函数,观察其结果。 (2)迭代序列的极限 用迭代序列求解,其编写程序如下: 其中,f[x_]:=为所求迭代函数,迭代n次产生相应是序列,并观察。 (3)线性方程组的迭代求解 对给定的矩阵M、数组f和初始向量x0,由X^(n+1)=Mx^n+f,n=0,1,2,3……给定的结果 其Matheatica程序如下:

实验过程: 1.迭代序列 (1)给定的实数域上光滑的实值函数f(x)以及初值x0,定义数列x(n+1)=f(x0),n=0,1,2,3,……. 对函数f(x)= (25*x - 85)/(x + 3)的迭代过程,可以形象地用蜘蛛网图像来直观地显示,运行以下程序: 3

(2)以下是给定初值x0为5.0 得到函数f(x)=(25*x-85)/(x+3)的蜘蛛网图 如图:

(3)以下给定初值x0是5.5 得到函数f(x)=(25*x-85)/(x+3)的蜘蛛网图 如图:

(4)以下给定初值x0是10 得到函数f(x)=(25*x-85)/(x+3)的蜘蛛网图 6

如图: (5)以下给定初值x0是16 得到函数f(x)=(25*x-85)/(x+3)的蜘蛛网图 7

如图: (6)以下给定初值x0是17 得到函数f(x)=(25*x-85)/(x+3)的蜘蛛网图

如图: 实验验证: (1)程序如下: 运行结果: 实验结论 (1):当初始值x0在5.0~17.0之间时,都可通过迭代法得知蜘蛛网均落在两直线之间(即收敛),而当初始值x0落在5.0~17.0之外时其蜘蛛网落在两直线之外(即发散)。 (2) 对给定的初值x0及迭代函数f(x)=x/2+1/x,迭代n次产生相应的序列,

观察序列,并且判断极限。 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 2.方程求根 用迭代序列求g(x)=x^3-2*x+1的根,其matheatic程序如下: 当x0=0.1,n=10时,运行程序得 当x0=0.5,n=10时,运行程序得 当x0=1.0,n=10时,运行程序得 当x0=1.5,n=10时,运行程序得 当x0=2.5,n=10时,运行程序得 当x0=15,n=50时,运行程序得 当x0=22,n=100时,运行程序得

11

由以上实验可得,函数g(x)=x^3-2*x+1收敛到 1 实验结论: 由所给x0代入方程g(x)=x^3-2*x+1得到x1, 再将得到的x1代入方程g(x)=x^3-2*x+1得到x2,再将得到的x2代入方程g(x)=x^3-2*x+1得到x3…..重复上述过程得到x1,x2,x3,x4…..如果x1,x2,x3,x4…..收敛到x,则x即 为方程的根,如果x1,x2,x3,x4…..不收敛,则换初始值重复上述过程即可,直到得出收敛的x. 3.线性方程组的迭代求解 给定一个n元线性方程组 a11x1a12x2a1nxn0a21x1a22x2a2nxn0 am1x1am2x2amnxn0 写成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可得迭代结果。 迭代程序如下: 运行程序结果如下: 实验结论: 试验中假设矩阵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,则线性方程组有解且唯一。 12

结果分析: (1)对于迭代序列来说:对给定的函数f(x)和初始值x0,初始值的取定对试验的次数以及效果都有的影响,给定的初始值可能落在迭代收敛的区域内,也可能落在发散的区域内。如实验发散,则换动初始值再进行实验迭代,如在收敛的区域内也要多次实验直到达到实验的需求为止。 (2)对于方程求根来说:利用mathematica软件编写迭代程序,对给定的函数f(x)和初始值x0,利用程序,运行,得出结果并观察,对于初始值不唯一,可以用多个初始值进行迭代。 (3)对于线性方程组的迭代求解:对给定的矩阵M,数组f和初始值x0,编写迭代程序,再利用迭代程序求出迭代结果,对给定的方程,其可能有解可能没有解,即迭代矩阵收敛则方程有解,迭代矩阵发散则方程无解。 总结体会: (1)编写较优的迭代序列,利用mathematica软件求解,节省实验时间和次数。 (2)尽量选用多个初始值进行迭代,迭代次数应尽量的多,为了保证试验的准确性。

13

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- niushuan.com 版权所有 赣ICP备2024042780号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务