Newton's method in Matlab

I need to apply Newton's Method in Matlab to the function f(x)= a-(1/x) to show how a program which cannot do division can be used to compute 1/a for a>0. How would I proceed? Thanks.

Answers (1)

Thorsten
Thorsten on 10 Nov 2015
Edited: Thorsten on 10 Nov 2015
Approximation of 1/a by x using a suitable starting value x = 0.1:
a = 14; x = 0.1; while abs(x*a - 1) > eps, x = x*(2-a*x), end

2 Comments

Hi, I used newtons method to get to x = x*(2-a*x)
But I don't understand what you've done here: abs(x*a - 1) > eps Can you explain please?
The value x should approximate 1/a, so x*a should approximate 1, or abs(x*a - 1) should approximate 0. I don't check for 0 because this is numerically not stable; instead, I check against the machine precision eps. The loop continuos until this precision is reached. If you need less precision, you could use, e.g.
while abs(x*a - 1) > 1e-6,

Sign in to comment.

Categories

Asked:

on 10 Nov 2015

Commented:

on 11 Nov 2015

Community Treasure Hunt

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

Start Hunting!