您的位置:首页 > 其它

牛顿迭代法

2012-12-06 11:45 211 查看
http://itpx.eol.cn/shiti_jc_7851/20100428/t20100428_470012.shtml

怕忘记收藏一下

用牛顿迭代法求下面方程y=x^3-5x^2+16x-80的实根的过程是:

  1.你想在谁附近求解,这个范围或者这个数值大多是题目已经给定了的(本例是根据输入的数值来计算的)

  2.令f(x)=x*x*x-5*x*x+16*x-80

  3.x1=X

  4.求f(x1)

  5.对f(x)求导,得到f1(x),求f1(x1)

  6.调整x,使x=x1-f(x1)/f1(x1)

  7.符合条件x-x1>1e-5,转到第3步

  8.不符合条件x-x1>1e-5,则x1就是我们要求的实根

  #include <stdio.h>

  #include <math.h>

  //y=x^3-5x^2+16x-80

  float f(float x)

  {

  return (pow(x,3)-5*pow(x,2)+16*x-80);

  }

  float f1(float x)

  {

  return (3*pow(x,2)-10*x+16);

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: