I'm trying to write a function that uses the secant method to find a root of the function.
I'm required to write both the iterative and recursive method.
So far, I finished writing the iterative but cannot finish the recursive.
The iterative is
function root = secanti(n, x0, x1, err)while true xi = (x0 * feval(n,x1) - x1 * feval(n, x0))/(feval(n,x1) - feval(n,x0)); if abs((xi-x1)/xi) < err root = xi; break else x0 = x1; x1 = xi; endendend
The one I have for recursive so far is
function xi = secantr(n, x0, x1, err) xi = (x0 * feval(n,x1) - x1 * feval(n, x0))/(feval(n,x1) - feval(n,x0));if abs((xi-x1)/xi) < err returnendx0 = x1;x1 = xi;secantr(n,x0,x1,err)end
The recursive function keeps giving a different value from the iterative.
Is there any way to improve my recursive function? Thank you
Best Answer