Hi, I'm having a little trouble with my newton's method code.
One of my biggest issues is that I'm not able to create an output, rHist, which is a vector consisting of x0 and the outputs after every iteration of newton's method and my number of iterations is off by 1.
My code (posted below) also doesn't seem to work when the initial guess, x0 satisfies the stopping criterion.
% function [r,N,fRoot] = newtonRaphE7(fHan,dfHan,x0,fTol,iterMax) k=1; while k<=iterMax x=x0-fHan(x0)/dfHan(x0) if abs(x-x0)<fTol*abs(x) return x0=x; r=x0; k=k+1; N=k; fRoot=abs(fHan(r)); end end
No products are associated with this question.
It should contain lines like this somewhere
rHist=zeros(1,iterMax+1);
....
rHist(k)=x;
My code (posted below) also doesn't seem to work when the initial guess, x0 satisfies the stopping criterion.
Because you're exiting without updating the outputs r,N, fRoot
It doesn't do any good to put them at the end if the code never reaches the end, and it doesn't, because you call RETURN before it gets there.
Alright, how would I actually rewrite it, just move the statements after the if?
0 Comments