38基于牛顿迭代法弦截法和二分法求根

38基于牛顿迭代法弦截法和二分法求根

ID:27681732

大小:144.71 KB

页数:11页

时间:2018-12-05

38基于牛顿迭代法弦截法和二分法求根_第1页
38基于牛顿迭代法弦截法和二分法求根_第2页
38基于牛顿迭代法弦截法和二分法求根_第3页
38基于牛顿迭代法弦截法和二分法求根_第4页
38基于牛顿迭代法弦截法和二分法求根_第5页
资源描述:

《38基于牛顿迭代法弦截法和二分法求根》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、•河北工业大学计算机软件技术基础(VG)2013年课程设计报告学院班级姓名学号成绩_-、题目:基于牛顿迭代法,弦截法和二分法求根(38)二、设计思路1、总体设计1)分析程序的功能用户输入x0,计算机显示牛顿迭代法计算的值,用户输入x的范围,输出二分法和弦截法的计算值,并计算出各种方法的迭代次数,输出最小的迭代次数。2)系统总体结构:每一次运算的过程可以由这儿部分完成:用户输入x初值,计算牛顿迭代法的值并输出,用户输入x的范围,计算二分法和弦截法的值并输出结果,总共五个步骤:模块函数名称用户输入X初值mai

2、n计算牛顿迭代法的值并输出nt用户输入X的范围main计算二分法half弦截法chord迭代次数cishu对于每一次运行,关注的数据有四个:x的初值,x的范围,x范围的函数值,x的迭代次数。2、各功能模块的设计:说明各功能模块的实现方法1)main模块该函数无返冋值。要实现的功能是询问x初值,输出牛顿迭代法的计算值,询问X的范围,输出二分法和弦截法的计算值。代码参见main函数。2)f模块该函数返回x的给定公式函数值。代码参见f函数。3)fl模块该函数返回给定公式的导数的函数值。代码参见fl函数。4)nt

3、模块主要使用for函数,判断是否满足精度要求,实现语句循环,使该函数返回牛顿迭代法的计算根。代码参见nt函数。5)half模块使用for函数,判断是否满足精度要求,使用if函数判断是否异号,实现语句循环,使该函数返回二分法计算的根。代码参见half函数。6)chord模块使用for函数,判断是否满足精度要求,使用if函数判断是否异号,实现语句循环,使该函数返回弦截法的计算值。代码参见chord函数。7)cishu模块主要使用break,判断是否跳出循环,该函数返回迭代次数的函数值。代码参见cishu函数3

4、、设计中的主要困难及解决方案二分法和弦截法函数处,区间的取舍有困难。对公示的理解不到位,常常使汁算结果误差很大,其至得不到正确结果。4、你所设计的程序最终完成的功能1)说明你编制的程序能完成的功能能够使用户输入x初值和x的范围,计算牛顿迭代法和二分法以及弦截法的正确回ImBMIiJ/Fist—XM1t入迭i镶I軍i袋1122根17171求:-4848法围0.0.議:-:-請为为果果f结结4磨的--_入法法H1刀飾i请二弦最少的次数为5,是牛顿迭代法。牛顿迭代法-一~请输入X0:计算值,而II可以计算出函数

5、的迭代次数,并输出最小迭代次数。2)准备的测试数据及运行结果X0=0.5范围(-1,1)'C:UsersAdministratorDesktop高伟光Debug38机械C1309高伟光.exe*三、程序清单1)main函数voidmain(){while(l)//使函数一直运行{cout«H-----牛顿迭代法-~--n«endl;cout«"请输入xO:cin»a;nt();cout«"二分法弦截法求根"«endl;cout«"请输入根所在的范围:";cin»b»c;half();c

6、hord();cishu();2)f(doublex)函数doublef(doublex){return(x*x*x—2本x本x+7本x+4);}//给定公式3)fl(doublex)函数doublefl(doublex)//求导fIreturn(3*x*x~4*x+7);}4)nt(doublea)函数voidnt()///牛顿迭代法idoublexO,x=a;for(inti=0;(fabs(x-xO))〉le-6;i++)///判断是否满足精度1xO=x;x=xO-f(x)/fl(x);}nn=i;

7、//牛顿法公式cotit<〈"牛顿迭代法的结果为:"<〈x<〈"次数是"<<nn<<endl;}5)half(doubleb,doublec)函数voidhalf()///二分法IdoublexO,xl,x2;xl=b;x2=c;for(inti=0;(fabs(xl~x2))>le~6;i++)J//判断是否满足精度Ix0=(xl+x2)/2;//二分法公式找中点if(f(x0)*f(xl)〈0)//判断是否异号x2=x0;//若异号取右区间else//否则取左区间xl:xO;}ef=i;cout<<〃

8、二分法的结果为:〃<〈x0<〈〃次数为〃<〈ef<〈endl;

9、}6)chord(doubleb,doublec)函数//弦截法voidchord(){doublexO,xl,x2;xl=b;x2=c;for(inti二0;(fabs(xl-x2))>le_6;i++)f//判断是否满足精度ix0=x2-(x2-xl)*f(x2)/(f(x2)-f(xl));if(f(xl)*f(x0)<0)x2=x0;elsexl:x0;/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。