
用C语言编写程序,用牛顿迭代法求高次方程f(x)=5*x*x*x*x*x-8*x*x*x+10*x*x-7x+25=0的近似根?急用!
展开全部
牛顿迭代法的思想是这样的:
x和x0不断的迭代.
令f(x)=5*x^5-8x^3+10x^2-7*x+25
则f'(x)=25x^4-24x^2+20x-7
有:
x=x0-f(x)/f'(x)
收敛于:|x-x0|<e(有是一个很小的数,在这里取e为0.000001),具体代码如下:
#include "stdio.h"
#include "math.h"
/*牛顿迭代法求根*/
void main()
{
double x0,x;
double f,g;
x0=1; /*给一个初始值*/
do
{
x=x0;
f=5*pow(x,5)-8*pow(x,3)+10*x*x-7*x+25;
g=25*pow(x,4)-24*pow(x,3)+20*x-7;
x0=x-f/g;
}while(fabs(x-x0)>1e-6);
printf("%f\n",x);
}
x和x0不断的迭代.
令f(x)=5*x^5-8x^3+10x^2-7*x+25
则f'(x)=25x^4-24x^2+20x-7
有:
x=x0-f(x)/f'(x)
收敛于:|x-x0|<e(有是一个很小的数,在这里取e为0.000001),具体代码如下:
#include "stdio.h"
#include "math.h"
/*牛顿迭代法求根*/
void main()
{
double x0,x;
double f,g;
x0=1; /*给一个初始值*/
do
{
x=x0;
f=5*pow(x,5)-8*pow(x,3)+10*x*x-7*x+25;
g=25*pow(x,4)-24*pow(x,3)+20*x-7;
x0=x-f/g;
}while(fabs(x-x0)>1e-6);
printf("%f\n",x);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询