当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机等级考试二级C语言辅导实例编程(9)
发布时间:2011/1/16 18:09:51 来源:城市学习网 编辑:ziteng

  二分法求方程近似解

  二分法求方程近似解:求方程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;

  }

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved