文档详情

分法牛顿迭代法.doc

发布:2017-04-06约2.36千字共10页下载文档
文本预览下载声明
2014级硕士研究生数值分析上机实习 (第一次) 姓名:乔永亮 学号:14S030125 学院:船舶与海洋工程学院 实习题目:分别用二分法和Newton迭代法求方程的根. 实习目的:掌握两种解法,体会两种解法的收敛速度. 实习要求:用C程序语言编程上机进行计算,精确到8位有效数字. 报告内容: 1. 确定实根的个数以及所在区间. 解:对函数求导,得。 易知恒成立,所以函数没有极值,只有一个实根。又可以知道,方程在区间有一个实根,且为奇数重根,可以二分法和Newton求解 2. 将最后两次计算结果填入下表(保留8位数字): 方法 二分法 13 1.3687744 14 1.3688354 Newton法 2 1.3688148 3 1.3688082 3. 实习过程中遇到哪些问题?如何解决?有何心得体会? 在编程的过程中由于对基本计算原理的理解有一定不足,同时对编程语言的不熟悉,导致在编程过程中错误百出,耗费了大量时间。但是通过课本以及网络对所需知识的不断学习,通过尝试不同的方法,最终还是得到了几种不同的思路与方法。通过这次编程,深深的感受到自己的不足,同时也明白了数学与计算机编程的紧密结合,不努力提高自己在当今社会就要被淘汰。 4. 两种解法的计算程序(此页写不下时可以加页): 二分法(Fortran 语言) program Analysis1 real::a,b,c,m real::fa,fc a=1. b=2. m=0.0001 !-------------------- do while(abs(b-a)=m) c=(a+b)/2 fa=a**3+2.*a*a+10.*a-20 fc=c**3+2.*c*c+10.*c-20 if(fa*fc0) then b=c else a=c end if write(*,(f10.7))c end do pause end program Anslysis1 牛顿迭代法(Fortran语言) program Analysis2 implicit none !定义变量--------------------------------------------------------------- external f,df real m,x0,x1,f,df integer i !初始化变量------------------------------------------------------------- m=0.0001 x0=1.5 !牛顿迭代法------------------------------------------------------------- do while(abs(f(x0))=m) x1=x0-f(x0)/df(x0) x0=x1 i=i+1 write(*,(i4,f10.7))i,x0 end do pause end program Analysis2 !定义原函数------------------------------------------------------------- function f(x) implicit none real f,x f=x**3+2.*x*x+10.*x-20. return end function !定义原函数的导函数------------------------------------------------------- function df(x) implicit none real df,x df=3.*x*x+4.*x+10. return end function 2014级硕士研究生数值分析上机实习 (第二次) 姓名: 学号: 学院: 实习题目:计算8阶三对角矩阵的行列式. 实习目的:掌握计算行列式的方法. 实习要求:首先选择一种算法,然后用C程序语言编程上机进行计算. 报告内容: 1. 简单描述所采用的算法: 2. 计算结果: 3. 实习过程中遇到哪些问题?如何解决?有何心得体会? 4. 写出C语言计算程序(此页写不下时可以加页): 2014级硕士研究生数值分析上机实习 (第三次) 姓名: 学号: 学院: 实习题目:分别用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组 实习目
显示全部
相似文档