数值分析实验三
x(1)=0;
y(1)=0;
fori=1:10
x(i+1)=(x(i)+1)^(1/3);
y(i+1)=2*(y(i)^3)-1;
end
x
y
2、
eps=10^(-5);
x=ones(1,10);
y=ones(1,10);
x(1)=0;
y(1)=0.5;
fori=1:10
x(i+1)=x(i)-(x(i).^3-x(i)-1)/(3*x(i).^2-1);
三、指导教师评语及成绩:
评 语
评语等级
优
良
中
及格
不及格
1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强
2.实验方案设计合理
3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)
4实验结论正确.
成 绩:
指导教师签名:
批阅日期:
附录1:源 程 序
1、
x=ones(1,10);
y=ones(1,10);
对于任意 ,有
,
存在正数 ,使对于任意 ,有
,
则迭代过程 对于任意初值 均收敛于方程 的根 ,且有如下的误差估计式:
。
迭代法的计算步骤:
1、准备 提供迭代初值 ;
2、迭代 计算迭代值 ;
3、控制 检查 :若 ( 为预先指定的精度),则以 替换 转步2继续迭代;当 时终止计算,取 作为所求的结果。
牛顿法原理:
【实验环境】
Windows 7 Matlab2010a
二、实验内容:
【实验方案】
1、用迭代法求方程2x3-x-1=0的在初值x0=0根;分别选取迭代函数为x1= 和x2= 求解。分析比较迭代函数选取的不同对收敛性的影响
2、用牛顿法求x3-x-1=0在x0=1.5和x0=0附近的根,迭代10次。分析比较初值的选取对迭代法的影响
【实验结论】(结果)
1、同一个方程,运用迭代法计算,运算的结果与迭代时选的的方程有极大的关系;
2、牛顿法对方程迭代时,运算的结果与选择的初值有极大关系
【实验小结】(收获体会)
1.通过实验,更加深入了解牛顿法和迭代法对方程的求解,理解了求解释方程的选择与初值的选择对根的影响。
2.增强了MATLAB的编程能力。
【实验过程】(实验步骤、记录、数据、分析)
1、编写相关程序,并运行;
2、分析数据
迭代法:
x1
x2
1
0.000000
0.000000
2
1.000000
0.000000
3
1.259921
0.000000
4
1.312293
0.000000
5
1.322354
0.000000
6
1.324269
0.000000
y(i+1)=y(i)-(y(i).^3-y(i)-1)/(3*y(i).^2-1);
if(abs(x(i+1)-x(i))<eps&&abs(y(i+1)-y(i))<eps)
break;
end
end
x
y
9
-1.427751
-7.925964
10
-0.942418
-5.306829
11
-0.404949
-3.568284
从上图看出,随着迭代次数的增加,两者的结果都在逐步趋于稳定,但是x=1.5迭代超过8次,x=0迭代超过7次以后,结果就开始不得不够稳定,总的来看,x=1.5的迭代效果更好,更具有收敛性。
其相应的迭代公式
牛顿法的计算步骤:
1、准备 选定初始近似值 ,计算 , ;
2、迭代 按公式 迭代一次,得新的近似值 ,计算
3、控制 如果 满足 或 ,则终止迭代,以 作为所求的根;否则转步4.此处 , 是允许误差,而
其中 是取绝对误差或相对误差的控制常数,一般可取 ,
4、修改 如果迭代次数达到预先指定的次数 或者 ,则方法失败,否则以 代替 转步2继续迭代。
对于方程 ,先将它改写成 的形式,即需要针对所给的函数 构造合适的迭代函数 。可令 ,这是相应的迭代公式是
①
运用前述加速技巧,对于迭代过程①,其加速公式具有如下形式:
记 ,上面两个式子可以合并写成
这种迭代公式通常称为简化的Newton公式,其相应的迭代函数是
②
需要注意的是,由于 是 的估计值,而 ,这里的 实际上是 的估计值。如果 代替②中的 ,则得到如下形式的迭代函数:
7
1.324633
0.000000
8
1.324702
-1.024738
9
1.324715
inf
10
1.324717
inf
11
1.324718
inf
从上图的计算结果可以看出X1的结果随着迭代次数的增多而逐渐趋于稳定,X2的迭代方法结果很不稳定,最终导致数字溢出,因此x1= 的收敛性更好。
牛顿法:
x=1.5
x=0
1
0.000000
0.500000
2
-1.000000
-5.000000
3
-0.500000
-3.364865
4
-3.000000
-2.280955
5
-2.038462
-1.556277
6
-1.390282
-1.043505
7
-0.911612
-0.561410
8
-0.345028
-11.864345
数学与计算科学学院
实 验 报 告
实验项目名称方程求根
所属课程名称数值方法B
实验
成绩
一、实验概述:
【实验目的】
1、熟练掌握用迭代法和牛顿法求非线性方程问题;
2、熟练掌握运用matlab解决数值方法的问题。
【实验原理】
迭代法的原理:
定理6.1假定函数 满足下列两项条件: