求解一方程 x^2-3x+2-e^x=0 用C++

如题,主要是e^x不会,最好能用迭代法来求解,谢谢... 如题,主要是 e^x 不会,最好能用迭代法来求解,谢谢 展开
 我来答
dielsalder
2007-11-30 · TA获得超过3854个赞
知道大有可为答主
回答量:1864
采纳率:50%
帮助的人:2759万
展开全部
参考
http://zhidao.baidu.com/question/39397721.html

针对x^2-3x+2-e^x=0

#include <stdio.h>
#include <math.h>

typedef double (*Fun)(double);

double secant (double x0, double x1, Fun f) //割线法
{
double f0, f1, x2;
f0 = f(x0); f1 = f(x1);
x2 = x1 - f1 * (x1 - x0) / (f1 - f0);
while(fabs(x2 - x1) > 1e-12)
{
x0 = x1, f0 = f1;
x1 = x2, f1 = f(x1);
x2 = x1 - f1 * (x1 - x0) / (f1 - f0);
}
return x2;
}

double fun(double x) //f(x)=x^2-3x+2-e^x
{
return x * (x - 3.0) + 2.0 - exp(x);
}

int main(void)
{
double ret = secant(1.0, 2.0, fun);
printf("f(%.10f) = %.10f\n", ret, fun(ret));
return 0;
}

结果:f(0.2575302854) = 0.0000000000
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式