我想在Mathematica中实现Newton-Raphson方法。
这是我的代码:
f[x] = x^3 - x^2 + 1
MetodaTangente[x0_, eps_] := Block[{p0, p1, dp, k},
p0 = N[x0];
p1 = p0;
dp = 1;
k = 0;
While[dp > eps,
p0 = p1;
p1 = p0 - f[p0]/f'[p0];
dp = Abs[p1 - p0];
k = k + 1;
];
Print[p1];
];
k
计算有多少次迭代。
然而,这是我运行时发生的事情:
f
似乎存在问题。我现在该怎么办?
答案 0 :(得分:3)
改为定义你的函数:
f[x_] := x^3 - x^2 + 1
MetodaTangente[-1, .000000000001]
> -0.754878
更多信息: http://reference.wolfram.com/mathematica/tutorial/DefiningFunctions.html