Question regarding while loop

2 views (last 30 days)
xxtan1
xxtan1 on 16 Aug 2020
Edited: Alan Stevens on 16 Aug 2020
function y = approx_sqrt(x)
y = x;
while abs(y^2 - x) > 1e-7*x
y = (x/y + y)/2
This is part of the code in my lecture class. I wonder what is the purpose of setting y = x at the begining?
Can anyone explain to me? Thank you so much.
  1 Comment
KSSV
KSSV on 16 Aug 2020
Edited: KSSV on 16 Aug 2020
It is nothing but saving x into other vairable y. x is like an intital value; it is saved into y, there after value of y changes and gets updated.

Sign in to comment.

Accepted Answer

Alan Stevens
Alan Stevens on 16 Aug 2020
Edited: Alan Stevens on 16 Aug 2020
(1) Because you need a value in the logic test: abs(y^2 - x) > ...
(2) Because you need an initial guess on the right-hand side of the Newton-Raphson expresssion: (x/y + y)/2

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!