5th root with Newton-Raphson code
4 次查看(过去 30 天)
显示 更早的评论
This is a code I have created to calculate numerically the 5th root. Something is wrong.
x = 0.05;
x_old = 500;
iter = 0;
while abs(x_old-x) > 10^-3 && x ~= 0
x_old = x;
x = x - (5*x*x*x*x);
iter = iter + 1;
end
0 个评论
采纳的回答
GEORGIOS BEKAS
2018-3-11
1 个评论
John D'Errico
2018-3-11
编辑:John D'Errico
2018-3-11
Yes. That will work. And very good of you to accept your own answer when I spent the time to find the bug in your code and explain how to fixit.
更多回答(1 个)
John D'Errico
2018-3-11
编辑:John D'Errico
2018-3-11
What is wrong? I'd start by pointing out that this is NOT Newton's method as you wrote it.
https://en.wikipedia.org/wiki/Newton%27s_method
Newton (or Newton/Raphson if you wish) has
xnew = xold - f(xold)/f'(xold)
So, if f(x) = x^5 - y, then what should you have written there? So, y is the value you want to compute a root of. Clearly, the 5th root of y will produce zero in f, as I wrote it.
So now you need to write the Newton iteration to use fas I wrote it, as well as the derivative of f.
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!