实验2.1(迭代法、初始值与收敛性)
实验目的:初步认识非线性问题的迭代法与线性问题迭代法的差别,探讨迭代法及初始值与迭代收敛性的关系。
问题提出:迭代法是求解非线性方程的基本思想方法,与线性方程的情况一样,其构造方法可以有多种多样,但关键是怎样才能使迭代收敛且有较快的收敛速度。
实验内容:考虑一个简单的代数方程
针对上述方程,可以构造多种迭代法,如
在实轴上取初始值x0,请分别用迭代(2.1)-(2.3)作实验,记录各算法的迭代过程。
实验要求:
(1)取定某个初始值,分别计算(2.1)-(2.3)迭代结果,它们的收敛性如何?重复选取不同的初始值,反复实验。请自选设计一种比较形象的记录方式(如利用MATLAB的图形功能),分析三种迭代法的收敛性与初值选取的关系。
(2)对三个迭代法中的某个,取不同的初始值进行迭代,结果如何?试分析迭代法对不同的初值是否有差异?
(3)线性方程组迭代法的收敛性是不依赖初始值选取的。比较线性与非线性问题迭代的差异,有何结论和问题。
相关MATLAB函数提示:
x=fzero(fun,x0) 返回一元函数fun的一个零点,其中fun为函数句柄,x0为标量时,返回在x0附近的零点;x0为向量[a,b]时,返回函数在[a,b]中的零点 [x,f,h]=fsolve(fun,x0)
返回一元或多元函数x0附近fun的一个零点,其中fun为函数句柄,x0为迭代初值;f返回fun在x的函数值,应该接近0; h返回值如果大于0,说明计算结果可靠,否则不可靠 |