10.23作业(迭代法,牛顿迭代法,二分法)

(1)迭代法求平方根

例题:

用迭代法求a的平方根,要求前后两次求出的x的差的绝对值小于10的-5次方。输出平方根时保留2位小数。x与a用double类型数据。
例:
输入:2 输出:1.41

把要求的数带入xn,即xn=a=2(然后进行循环)

(2)用牛顿迭代法求方程的根

例题:

用牛顿迭代法求方程在1.5附近的根:a*x*x*x+b*x*x+c*x+d=0.
从键盘上输入a,b,c,d,计算x的值。
例:
输入:2.0,-4,3,-6  输出:x=2.00

这个1.5,只是方程的根周围的一个数,也就是说可以用方程的根周围的一个数来求出方程的一个根。

(3)用二分法求方程的根 

精度控制方式: f(c)的绝对值小于10的-5次方(c为中点)
给定精确度ξ,用二分法求函数f(x)零点近似值的步骤如下:
1、确定区间[a,b],验证f(a)·f(b)<0,给定精确度ξ.
2、求区间(a,b)的中点c.
3、计算f(c).
(1) 若f(c)=0(即|f(c)|<1e-5),则c就是函数的零点,程序结束;
(2) 若f(c)!=0 并且 f(a)·f(c)<0,则令b=c;
(3) 若f(c)!=0 并且 f(c)·f(b)<0,则令a=c.
(4) 重复2-3.

即用f(a)*f(b)<0这个特性来不断的逼近函数的根。其中可以先用f(c)=(f(a)+f(b))/2来大大的缩减循环的次数,然后通过f(a)*f(b)>0或者f(a)*f(b)<=0来不断的用f(c)替换f(a)或者f(b)进行循环,直到求出的函数的根在精度的要求的范围当中。

例题

用二分法求方程在(-10,10)之间的根:a*x*x*x+b*x*x+c*x+d=0.


从键盘上输入a,b,c,d,计算x,精度输入:2,-4,3,-6  输出:x=2.00为10的-5次方,输出时保留2位小数。

 while(fabs(F(x2))>1e-5)
     {
     if(F(x0)*F(x2)<0)
     {
         x1=x2;
         x2=(x0+x1)/2;
     }
     else
     {
         x0=x2;
         x2=(x0+x1)/2;
         
     }
     }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值