1元非线性方程的数值解法.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1元非线性方程的数值解法

实习题目:一元非线性方程的数值解法 【实习目的】 1 通过实习进一步掌握牛顿迭代法和弦截法的基本思想; 2 通过实习进一步掌握牛顿迭代法和弦截法的计算步骤,并能灵活应用; 3 通过上机调试运行,对方程求根的牛顿迭代法和弦截法程序进行改进,逐步培养解决实际问题的编程能力; 【实习要求】 1 熟悉Turbo C 的编译环境; 2 实习前复习牛顿迭代法和弦截法的基本思想和过程; 3 实习前复习牛顿迭代法和弦截法的计算步骤。 【实习设备】 1 硬件设备:单机或网络环境下的微型计算机一台; 2 软件设备:DOS3.3以上操作系统,Turbo C 2.0编译器。 【实习内容】 1)实习一 牛顿迭代法 (1)用牛顿迭代法求方程在x=2.0附近的一个实根,精度要求为。 要求设置一个最大迭代次数N , 如果迭代次数超过预先设定的最大次数N , 但仍然达不到精度要求时,则认为方法失败,并给出失败信息。 成功的情况下,要求输出的格式为如下形式: i=1 x1=2.000 000 … … … … 失败的情况下,要求输出的格式为如下形式: After % d repeate , no solved 程序为: # includestdio.h # includemath.h # define N 10 # define k 0.000001 double f(double x) { return exp(x)-x-3; } double g(double x) { return exp(x)-1; } void main() { int i; double x2,x1=2.0; for(i=1;i=N;i++) { printf(When i=%d,x=%.6f\n,i,x1); x2=x1-f(x1)/g(x1); if(fabs(x2-x1)k) x1=x2; else { printf(When i=%d,x=%.6f\n,i,x2); break; } } if(iN) printf(After %d repeate,no solved and if you want to obtain the more accurate value,please use another means!,N); } 运行结果截图为: (2)思考题 ① 牛顿迭代法的基本思想是什么? 牛顿迭代法是以微分为基础的,微分就是用直线来代替曲线,由于曲线不规则,那么研究直线代替曲线后,剩下的差值是不是高阶无穷小,如果是高阶无穷小,那么这个差值就可以扔到不管了,只用直线就可以了,这就是微分的意义。 牛顿法是牛顿在17世纪提出的一种求解方程f(x)=0.多数方程不存在求根公式,从而求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。 牛顿迭代法是取x0之后,在这个基础上,找到比x0更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。 设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)+f(x0)(x-x0),求出L与x轴交点的横坐标 x1=x0-f(x0)/f(x0),称x1为r的一次近似值,过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标 x2=x1-f(x1)/f(x1)称x2为r的二次近似值,重复以上过程,得r的近似值序列{Xn},其中Xn+1=Xn-f(Xn)/f(Xn),称为r的n+1次近似值。上式称为牛顿迭代公式。 ② 若将题中的 ,将其取更大一点的值 ,迭代次数是否会发生变化? 迭代次数会发生变化。 2)实习二 弦截法 (1)用弦截法求方程的一个实根,初始近似值分别去0.5和10.6,精度要求为。 (2)要求: ① 推导求出x的式子x=f(x) 。 ② 程序中要求设置一个最大迭代次数N 。 ③ 对于输入的初始近似值x0 , x1要求加以判断,即如果f(x0)f(x1)0 ,则继续使用弦截法求方程的根 ;否则重新选取x0 , x1 , 直到f(x0)f(x1) 0 。 ④ 方程无解的情况下,要求输出方程无解的信息。 ⑤ 方程有解的情况下,请写出程序运行的结果。 程序编写为: #includestdio.h #includemath.h #de

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档