
1个回答
推荐于2018-04-07
展开全部
//求出迭代方程,根据牛顿的是,g(x)=x-f(x)/f'(x)
//针对x*e^x-1=0,是g(x)=x-(xe^x-1)/(e^x+x*e^x);
#include<stdio.h>
#include<math.h>int main()
{
double f(double x);
double x,y,d;
x=1;
y=0;//迭代值。
d=0.000000001;//误差控制
while(fabs(x-y)>=d)
{
x=y;
y=f(x);
}
printf("%.3f\n",y);
printf("%f\n",exp(y)*y);
return 0;
}
//为了通用性,用一个函数,来表示迭代方程
double f(double x)
{ return x-(x*exp(x)-1)/(exp(x)+x*exp(x));
}
//针对x*e^x-1=0,是g(x)=x-(xe^x-1)/(e^x+x*e^x);
#include<stdio.h>
#include<math.h>int main()
{
double f(double x);
double x,y,d;
x=1;
y=0;//迭代值。
d=0.000000001;//误差控制
while(fabs(x-y)>=d)
{
x=y;
y=f(x);
}
printf("%.3f\n",y);
printf("%f\n",exp(y)*y);
return 0;
}
//为了通用性,用一个函数,来表示迭代方程
double f(double x)
{ return x-(x*exp(x)-1)/(exp(x)+x*exp(x));
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询