跪求高人用C语言帮我编一个题目:迭代法求x^5-x^4+4x^2-1=0的根算法 感激不尽 谢谢!
2个回答
展开全部
牛顿迭代法的思想是这样的:
x和x0不断的迭代.
令f(x)=x^5-x^4+4x^2-1
则f'(x)=5x^4-4x^3+8x
有:
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=pow(x,5)-pow(x,4)+4*x*x-1;
g=5*pow(x,4)-4*pow(x,3)+8*x;
x0=x-f/g;
}while(fabs(x-x0)>1e-6);
printf("%f\n",x);
}
程序运行结果:0.508132
x和x0不断的迭代.
令f(x)=x^5-x^4+4x^2-1
则f'(x)=5x^4-4x^3+8x
有:
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=pow(x,5)-pow(x,4)+4*x*x-1;
g=5*pow(x,4)-4*pow(x,3)+8*x;
x0=x-f/g;
}while(fabs(x-x0)>1e-6);
printf("%f\n",x);
}
程序运行结果:0.508132
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |