
用C++编程实现迭代法求解x^3e^x-2=0
f(x)=x^3e^x-2一阶导(3x^2+x^3)e^x在线等牛人帮忙啊要将C++得源代码写出来啊...
f(x)=x^3e^x-2 一阶导 (3x^2+x^3)e^x 在线等 牛人帮忙啊
要将C++得源代码写出来啊 展开
要将C++得源代码写出来啊 展开
2个回答
展开全部
double g(double x){
return x*x*x*pow(e,x-2);
}
int main(){
double x0,x1,Epsilon;//Epsilon为精确程度
x0=任意值,或近似值;
do {
x1=x0;
x0=g(x1); /*按特定的方程计算新的近似根*/
} while ( fabs(x0-x1)>Epsilon);
printf(“方程的近似根是%f\n”,x0);
return 0;
}
您好 大概就是这样的框架
return x*x*x*pow(e,x-2);
}
int main(){
double x0,x1,Epsilon;//Epsilon为精确程度
x0=任意值,或近似值;
do {
x1=x0;
x0=g(x1); /*按特定的方程计算新的近似根*/
} while ( fabs(x0-x1)>Epsilon);
printf(“方程的近似根是%f\n”,x0);
return 0;
}
您好 大概就是这样的框架
展开全部
x^3e^x-2=0
x^3e^x=2,双边取对数
ln(x^3e^x) = ln2
3lnx + x = ln2
x = ln2 - 3lnx
用x = ln2-3lnx作为迭代方程
double x, y;
do {
y = x;
x = ln(2) - 3 * ln(x);
}while( abs(x-y) < e);
就行了,用导数需要采用 f(x+1) = f(x) + kf'(x),我觉得台劳方式太麻烦了,既然可以用迭代法,估计是收敛的,试试看吧
x^3e^x=2,双边取对数
ln(x^3e^x) = ln2
3lnx + x = ln2
x = ln2 - 3lnx
用x = ln2-3lnx作为迭代方程
double x, y;
do {
y = x;
x = ln(2) - 3 * ln(x);
}while( abs(x-y) < e);
就行了,用导数需要采用 f(x+1) = f(x) + kf'(x),我觉得台劳方式太麻烦了,既然可以用迭代法,估计是收敛的,试试看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询