您好,欢迎访问三七文档
《数值计算方法》实验报告班级:学号:姓名:成绩:1.实验名称实验2非线性方程的迭代解法2.实验题目用下列方法求方程010423xx在区间[1,2]内的一个实根,取绝对误差限为410.(1)用简单迭代法;(2)Aitken-Steffensen加速法;(3)Newton迭代法;(4)Newton下山法.3.实验目的掌握非线性方程的简单迭代法和Newton迭代法,熟悉Aitken-Steffensen加速法和Newton下山法.4.基础理论(1)简单迭代法:将方程0)(xf改写成等价形式)(xx,从初值0x开始,使用迭代公式)(1kkxx可以得到一个数列,若该数列收敛,则其极限即为原方程的解.取数列中适当的项可作为近似解.(2)Aitken-Steffensen加速法:基于迭代公式)(1kkxx的Aitken-Steffensen加速法是通过“迭代-再迭代-加速”完成迭代的,具体过程为kkkkkkkkkkkxyzzyxxyzxy2)(),(),(21.(3)Newton迭代法:解方程0)(xf的Newton迭代公式为)(')(1kkkkxfxfxx.(4)Newton下山法:Newton下山法公式为)(')(1kkkkkxfxfxx,使|)(||)(|1kkxfxf,其中10k.5.实验环境操作系统:Windowsxp;程序设计语言:VisualC++6.06.实验过程简单迭代法:(1)实施方案:将方程改写成等价形式:0.5*sqrt(10-(x)*(x)*(x)),即迭代函数为()x=0.5*sqrt(10-(x)*(x)*(x)),利用迭代函数)(x进行数值计算。(2)数据准备:初始值01x,精确度del=0.0001,迭代次数N=20(3)遇到的问题以及解决办法:不同的迭代函数其收敛性不同,没有对整数k进行赋值和累加,导致迭代次数k无法显示。通过对k赋值(k=1),累加k++,问题得以解决。Newton迭代法:(1)、实施方案:将方程写成函数形式104)(23xxxf,然后求出函数)(xf的导数xxxf83)(2',再根据Newton迭代法进行数值计算(2)、数据准备:初始值01x,精确度del=0.0001,迭代次数N=20(3)、遇到的问题以及解决办法:没有注意符号的区分,出现很多程序错误,经多次检查才解决问题,有时侯程序没有错也会提示错误,无法运行。一开始没有对整数k进行赋值和累加,导致迭代次数k无法显示,通过对k赋值后,问题得以解决。7.结果与分析同一个方程运用简单迭代法和Newton迭代法进行数值计算,方程不一定都有解。即如果运用简单迭代法用不同的迭代函数,其收敛性不一致,有的收敛,有的发散。而且也会比Newton迭代法迭代速度慢。8.附录:程序清单(1)简单迭代(3)、Newton迭代法
本文标题:数值与计算方法1
链接地址:https://www.777doc.com/doc-2387438 .html