【发布时间】:2018-07-30 06:47:32
【问题描述】:
我正在尝试在 c++ 源代码中翻译 f(x) = x − e-(x2) 但我不断收到错误。我试过了:
double f(double x)
{
exp = pow(-x, 2);
double result = x - exp;
return x;
};
有什么见解吗? 如果有帮助,我正在使用 Code::Blocks
【问题讨论】:
-
当你说
e^(-x2)时,你的意思是e^(-x*2)还是e^((-x)^2)? -
您可能想要重命名您的
exp变量,std::exp -
我的意思是 e^((-x)^2)
-
我对此表示怀疑。 (-x)^2 == x^2。当然你的意思是 -(x^2)
-
这不是牛顿法。使用牛顿法,您可以在当前 x 处进行线性估计,然后尝试预期根值
x_next = x - f(x)/(derivative_of_f(x))。
标签: c++ newtons-method cmath