设为首页 加入收藏

TOP

2011年计算机等级考试二级C语言辅导实例编程(9)
2014-10-29 15:30:50 来源: 作者: 【 】 浏览:88
Tags:2011年 计算机 等级考试 二级 语言 辅导 实例 编程

  二分法求方程近似解


  二分法求方程近似解:求方程f(x) = x^3 + x^2 - 1 = 0在[0,1]上的近似解,精确度为0.01。


  算法分析:二分法求方程近似解的基本思想是将方程的有解区间平分为两个小区间,然后判断解在哪个小区间;继续把有解的区间一分为二进行判断,如此周而复始,直到求出满足精确要求的近似解。


  二分法求方程近似解的算法步骤:


  ⑴确定区间[a,b],验证f(a).f(b) < 0,给定精确度e


  ⑵求区间(a, b)的中点mid


  ⑶计算f(mid)


  若f(mid) = 0,则mid就是函数的零点


  若f(a).f(mid) < 0,则令b = mid(此时零点a < x0 < mid)


  若f(mid).f(b) < 0,则令a = mid(此时零点mid < x0 < b)


  ⑷判断是否达到精确度e:即若|a-b| < e,则得到零点近似值a(或b);否则重复⑵-⑷。


  代码如下:


  double F(double a, double b, double c, double d, double x)//函数表达式


  {


  return (((a * x + b) * x) * x + d) / c;


  }


  double Function(double a, double b, double c, double d, double low, double high, double e)


  {


  double mid = (low + high) / 2;


  if (F(a, b, c, d, mid) == 0)


  return mid;


  while ((high-low) >= e)


  {


  mid = (low + high) / 2;


  if (F(a, b, c, d, mid) == 0)


  return mid;


  if (F(a, b, c, d, low)*F(a, b, c, d, mid) < 0)


  high = mid;


  else


  low = mid;


  }


  return low;


  }


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2011年计算机等级考试二级C语言辅.. 下一篇2011年计算机等级考试二级C语言辅..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: