数值分析课程设计Newton 迭代法_第1页
数值分析课程设计Newton 迭代法_第2页
数值分析课程设计Newton 迭代法_第3页
数值分析课程设计Newton 迭代法_第4页
数值分析课程设计Newton 迭代法_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计 报 告课程名称 数值分析 课题名称 Newton 迭代法 2013年 1 月 9 日湖 南 工 程 学 院课 程 设 计 任 务 书课程名称 数值分析 课 题 Newton 迭代法 任务书下达日期 2013 年 12 月 22 日任务完成日期 2014 年 1 月 6 日一、设计内容与设计要求1设计内容: 对课程计算方法中的常见算法进行综合设计或应用(具体课题题目见后面的供选题目)。2设计要求:l 课程设计报告正文内容a. 问题的描述及算法设计;b. 算法的流程图(要求画出模块图);c. 算法的理论依据及其推导;d. 相关的数值结果(通过程序调试),;e. 数值计算结果的分析;

2、f. 附件(所有程序的原代码,要求对程序写出必要的注释)。l 书写格式a要求用A4纸打印成册b正文格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。c正文的内容:正文总字数要求在3000字左右(不含程序原代码)。d封面格式如下页。l 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:a平时出勤 (占10%)b系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)c程序能否完整、准确地运行,个

3、人能否独立、熟练地调试程序(占40%)d设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。e独立完成情况(占10%)。l 课程验收要求a判定算法设计的合理性,运行相关程序,获得正确的数值结果。b回答有关问题。c提交课程设计报告。d提交软盘(源程序、设计报告文档)。e依内容的创新程度,完善程序情况及对程序讲解情况打分。三、进度安排1、 班级: 信息与计算科学:1101、1102、11032、 主讲教师:聂 存 云、阳卫锋3、 辅导教师:聂 存 云、阳卫锋上机时间安排: 第17教学周 (课程设计算法设计) 星期一: 8:10-11:50 14:10-17:30 1

4、-A-404 星期二: 10:10-11:50 15:20-17:30 1-A-404 星期三: 8:10-11:50 14:10-17:30 1-A-404 星期四: 8:10-10:50 14:10-17:30 1-A-404 星期五: 8:10-11:50 14:10-17:30 1-A-404 第18教学周 (课程设计算法设计与实现、报告撰写) 星期一: 8:10-11:50 14:10-17:30 1-A-404 星期二: 10:10-11:50 15:20-17:30 1-A-404 星期三: 8:10-11:50 14:10-17:30 1-A-404 星期四: 8:10-10:

5、50 14:10-17:30 1-A-404 星期五: 8:10-11:50 14:10-17:30 1-A-404 课程设计算法设计答辩与报告提交、成绩评定 星期六: 8:10-11:50 14:10-17:30 1-A-404 星期日: 8:10-11:50 14:10-17:30 1-A-404注: 由于系部机房已排满,故采用在教学楼教室,学生自带手提电脑进行本课程设计。 目 录一、问题描述 6二、算法流程图 61.Netown迭代法 62.不动点迭代 7三、 算法的理论依据 9四、算法设计 10五、实验结果10六、附录12七、心得体会13附:理学院课程设计评分表14一、问题描述:New

6、ton迭代法解决问题以定期存储为基础的储蓄账户的积累值可由定期年金方程确定A=P/i(1+i)n-1在这个方程中,A=750000,P=1500,n=20,实现他的储蓄值目标,最小利率问题。二、算法流程图:1.Netown迭代法算法描述:给定初始近似值p0,求f(x)=0的解:输入 初始近似值p0;精度要求TOL;最大迭代次数N0。输出 近似解p或失败信息。Step1 Set i=1. 开始Step2 While i<=N0 do Steps 3-6。Step3 Set p=p0-f(p0)/f(p0)。(计算pi。)Step4 If | p-p0 |<s then OUTPUT(

7、p);(程序成功)输入p0,sSTOP。Step5 Set i=i+1。Step6 Set p0=p。(更新p0。)f0=f(p0) f1=f(p0)p=p0-f(p0)/f(p0)STOP。 |p0-p|>s? p0=p是 否 输出p 结束 求方程f(p)=0的根的Newton迭代法程序框图 #include<stdio.h> #include <math.h>void main() int k;k=1;long double p,p0,f,f1; printf("输入初值p0=",p0);scanf("%lf",&

8、;p0);while(1) f=500.0-(pow(1.0+p0,20)-1.0)/p0; printf("p=%0.9lfn",f); f1=-(20.0*pow(1.0+p0,19)-pow(1.0+p0,20)/(p0*p0); printf("p=%0.9lfn",f1); p=p0-f/f1;if(fabs(p-p0)<1e-2) break;p0=p;k+;printf("p=%0.9lfn",p); printf("k=%dn",k);2.不动点迭代 算法描述:给定初始近似值p0,求p=g(p

9、)的解:输入 初始近似值p0;精度要求TOL;最大迭代次数N0。输出 近似解p或失败信息。Step1 Set i=1. 开始Step2 While i<=N0 do Steps 3-6。Step3 Set p=g(p0)。(计算pi。)Step4 If | p-p0 |<TOL then OUTPUT(p);(程序成功)输入p0,sSTOP。Step5 Set i=i+1。Set p0=p。(更新p0。) p=g(p0) STOP。 |p0-p|>s? p0=p是 否 输出p 结束 求方程p=g(p)的根的不动点迭代法程序框图 三 算法的理论依据: 1.Newton迭代法 设

10、x*是方程f(x)=0 一个实根,又设x0为x*的一个近似值,且f(x)二次可微,将f(x)在点x0处作Taylor展开得 f(x)=f(x0)+(x-x0)f(x0)+1/2(x-x0)2f”()其中,介于x0与x之间。令x=x*有0=f()=f()+(x*-x0)f(x0)+1/2(x*-x0)2f”()这里介于xo与x*之间。略去上式 (x*-x0) 的二项,可得x*的一个近似解为 x*x1=x0-f(x0)/f(x0)以x1代替x0,重复上述过程可得x*新的近似解x2,,如此下去,得x*的近似解序列 xn+1=xn-f(xn)/f(xn) (n=0,1,.2) 2.不动点迭代法如果g(

11、p)=p,熟p是给定函数g的一个不动点。下面给出不动点存在性和唯一性的充分条件:a. 如果gCa,b且g(x)a,b对一切xa,b成立,则g在a,b有一个不动点。b. -除以上条件外,如果g(x)在(a,b)存在,且存在一个正常数k<1使得 |g(x)|<=k对一切x(a,b)成立,则不动点在a,b是唯一的。不动点定理:设gCa,b且g(x)a,b对一切xa,b成立。又假设g在(a,b)内存在,且存在常数0<k<1使对一切x(a,b)有 |g(x)|<=k则对a,b内任意点p0,由 pn=g(pn-1), n>=1定义于序列收敛于a,b内的唯一不动点p。 四

12、、算法设计:根据三种方法的算法,分别定义C语言函数:void Newton(); /声明Newton的函数通过主函数调用其他函数,在程序中应用多选择分支语句switch() case :break;default:完成对迭代方法的选择的操作。 五、实验结果: P23第22题 P23第23题 六、附录: 程序源代码:#include<stdio.h> #include <math.h>void main() int k;k=1;long double p,p0,f,f1; printf("输入初值p0=",p0);scanf("%lf&quo

13、t;,&p0);while(1) /f=500.0-(pow(1.0+p0,20)-1.0)/p0; / f1=-(20.0*pow(1.0+p0,19)-pow(1.0+p0,20)/(p0*p0); f=135.0*pow(1.0+p0,30)*p0+1-pow(1.0+p0,30); printf("p=%0.9lfn",f); f1=135.0*(30*pow(1.0+p0,29)*p0-pow(1.0+p0,30)- 30*pow(1.0+p0,29); printf("p=%0.9lfn",f1); p=p0-f/f1;if(fabs

14、(p-p0)<1e-6) break;p0=p;k+;printf("p=%0.9lfn",p); printf("k=%dn",k); 七、心得体会:经过这段为期不久的课程设计,使我对于数值分析有了更深层次的理解,应用Newton迭代法解决现实问题。在这个过程中。我也曾因为实践经验缺乏失落过;也曾经仿真成功而热情高涨。生活就这样;虽然这只是一次极其简单的课程设计;可是平心而论,也耗费我不少的心血。这让我不得不对我们社会的付出的老一辈;为了我们的生活更美好,他们为我们付出多少心血。我感觉用心细心地做好一件事情的重要性,在这次课程设计中,体会到了做设计的严谨,更加加深了我对课程设计的兴趣,在此次课程设计过程中,遇到不懂的问题我会及时向老师,同学请教,以更好地完成该项课题设计。一个人的能力有限;此次的程序设计能够成功,是我自身的努力和寻求老师同学的帮助共同努力作用的结果。在这一段努力学习的过程中,收获还真是不少,虽然

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论