Newton's method, also called the Newton-Raphson method, is a root-finding algorithm that uses the first few terms of the Taylor series of a function in the vicinity of a suspected root. Newton's method is sometimes also known as Newton's iteration, although in this work the latter term is reserved to the application of Newton's method for computing square roots.

In Numerical Analysis, Newton’s method (also known as the Newton–Raphson method), named after Sir Isaac Newton and Joseph Raphson, is a method for finding successively better approximations to the roots (or zeroes) of a real-valued function. It is one example of a root-finding algorithm
x:f(x)=0\,.
The Newton–Raphson method in one variable is implemented as follows:
The method starts with a function f defined over the real numbers x, the function’s derivative f ′, and an initial guess x0 for a root of the function f. If the function satisfies the assumptions made in the derivation of the formula and the initial guess is close, then a better approximation x1 is
x_{1}=x_{0}-{\frac {f(x_{0})}{f'(x_{0})}}\,.
Geometrically, (x1, 0) is the intersection of the x- axis and the tangent of the graph of f at (x0f (x0)).
The process is repeated as
x_{n+1}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}\,
until a sufficiently accurate value is reached.

Let’s take the following circuit:

                        nrm amitchdfhuftrhyu.PNG

To find the Voltage across R3 (4K) Resistor we use Kirchoff’s current law at the node connected to R1, R2 and R3.
nrmcalc.png
We have taken V=0 at t=0 (initial conditions)

Conversely, it will take a large number of steps to get the required value of the answer. So, the Newton-Raphson algorithm will continue to be executed till the previously estimated value becomes equal to the approximated value.

                            Newton-Raphson Method Algorithm :


x = 0;
temp = 1;
count = 0;
while x~= temp
x = temp;
num = (0.00025*x)+ 10.^(-15)*(exp(38*x)-1) -2;
deno = 0.00025 + 38*(10.^(-15)*(exp(38*x)));
temp = x – (num/deno);
count = count+1;
p(count) = x;
end
plot(p);
title(‘convergence after multiple iterations’);
fprintf(‘No. of Iterations = ‘); disp(count);
fprintf(‘Answer =’);disp(x);


This algorithm will finally give the:
approximated value: 0.9272
number of iterations it took to reach this value from estimated value: 9
and continuous graph showing value of x after each approximation:
nrmgraph.png

Comments

  1. Well written blog. The theory and concept oh N-R method is explained nicely and useful for beginner in Matlab programing.

    ReplyDelete
  2. Is Newton raphson the best iterative method to use or are there any other more efficient and accurate methods that can suffice?

    ReplyDelete
  3. How much time did the computation take,was it a fast process,which processor did you use? Did you try the code on a better system?
    Does increasing the number of iterations increase the computational time?

    ReplyDelete
    Replies
    1. The computation took 700 ms on my machine which is running an i7 - 4720hq
      We saw a linear increase in time taken as iterations increased

      Delete

Post a Comment