当前所在位置: 首页 > 论文范文 > 正文

二分法求解单变量非线性方程及其应用与实现(第2页)

本文共计579个字,预计阅读时长2分钟。【 字体:

论文指导服务

毕业论文网专业团队提供毕业设计、论文写作指导及相关咨询服务

论文指导 毕业设计 答辩咨询
微信号已复制到剪贴板

  end

  if ya * yb > 0

  disp(’(a, b)不是有根区间’);

  return

  end

  max1 = 1 + round((log(b - a) - log(delta))/log(2));

  for k = 1:max1

  c = (a + b)/2;

  yc = fevel(’f’, c);

  if yc == 0 a = c; b = c; break,

  elseif yb * yc > 0

  b = c; yb = yc;

  else

  a = c; ya = c;

  end

  if (b - a) < delta, break

  end

  end

  k, c = (a + b)/2, err = abs(b - a), yc = feval(‘f’, c)

  6.2 %基本二分法的C语言实现

  方程式为:f(x) = 0,示例中f(x) = 1+x-x^3

  使用示例:

  input a b e: 1 2 1e-5

  solution: 1.32472

  源码如下:

  #include

  #include

  #include

  #include

  double f(double x)

  {

  return 1+x-x*x*x;

  }

  int main()

  {

  double a = 0, b = 0, e = 1e-5;

  printf("input a b e: ");

  scanf("%lf%lf%lf", &a, &b, &e);

  e = fabs(e);

  if (fabs(f(a)) <= e)

  {

  printf("solution: %lg\n", a);

  }

  else if (fabs(f(b)) <= e)

  {

  printf("solution: %lg\n", b);

  }

  else if (f(a)*f(b) > 0)

  {

  printf("f(%lg)*f(%lg) > 0 ! need <= 0 !\n", a, b);

  }

  else

  {

  while (fabs(b-a) > e)

  {

  double c = (a+b)/2.0;

  if (f(a)* f ( c ) < 0)

  b = c;

  else

  a = c;

  }

  printf("solution: %lg\n", (a+b)/2.0);

  }

  return 0;

  }

  7.方法总结

  7.1二分法解题的基本步骤:

  1)计算f(x)的有根区间[a,b]端点处的值f(a),f(b)。

  2)计算f(x)的区间中点的值f((a+b)/2)。

  3)进行函数值的符号比较。

  4)根据误差估计二分到一定次数达到精度,从而求得近似值。

  7.2二分法的优缺点:

  优点:算法简单,容易理解,且总是收敛的

  缺点:收敛速度太慢,浪费时间

  所以,在以后的学习过程中,我们将根据方程的形式和二分法的优缺点不单独将其用于求根,只用其为根求得一个较好的近似值,方便其他方法的运算。

  8. 结 论

  (1)针对现实中的许多剖面设计、轨道设计等关键参数方程中三角函数多、计算工作量较大、迭代收敛条件强等问题,采取数学变化的方法将该方程转化成一个只包含对数函数和多项式函数的新方程,并提出了寻找求解区间的步长搜索算法和自适应步长搜索算法,进而使用二分法求新方程的数值解。

  (2)数学分析和数值实践表明,该算法不仅能够正确判断设计方程是否有解,而且在有解的情况下能够正确求出该解,计算量小,计算过程稳定。

  参考文献

  【1】曾毅; 改进的遗传算法在非线性方程组求解中的应用[J]; 华东交通大学学报; 2004 年04期; 136-138

  【2】许小勇,宋昔芳; 一种求解非线性方程全部实根的算法与实现 [J];科技广场;2007年01期; 15-17

  【3】王兴华,郭学萍; 二分法及其各种变形收敛性的统一判定法则 [J];高等学校计算数学学报; 1999年04期

  【4】苗慧; 解非线性方程的若干算法的收敛性分析 [D];浙江大学; 2006年

  【5】李晓霞; 关于若干迭代算法的收敛性分析 [D];浙江大学; 2002年

  【6】李庆扬,王能超,易大义;数值分析第4版 TUP 清华大学; 2001年5月

阅读全文