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);
}