Help, secant method by recursion

조회 수: 2 (최근 30일)
Sun Woo Kim
Sun Woo Kim 2017년 10월 14일
답변: Kinza Shahzad 2018년 6월 1일
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;
end
end
end
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
return
end
x0 = 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

채택된 답변

Jan
Jan 2017년 10월 14일
All you need is to catch the output:
xi = secantr(n,x0,x1,err);
^^^^
  댓글 수: 1
Sun Woo Kim
Sun Woo Kim 2017년 10월 15일
Thanks. I feel so dumb

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Kinza Shahzad
Kinza Shahzad 2018년 6월 1일
how to run these codes ? :/m having some errors

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by