### Newton-Raphson Method with MATLAB code:

If point x0 is close to the root a, then a tangent line to the graph of f(x) at x0 is a good approximation the f(x) near a. So the root of the tangent line, where the line cuts the X-axis; x1 is the better approximation to a than x0 is.

Slope of the tangent =

Therefore

Repeating process, we obtain a better approximation,

Continue in this way. If xn is the current estimate, then the next estimate xn+1 is given by

if x0 is sufficiently close to a, xn?a as n?8.

## Limitations of Newton-Raphson Method

- If initial guess is too far away from the required root, the process may converge to some other root.
- Division by zero may occur if f’(xi) is zero or very close to zero.
- A particular value in the iteration sequence may repeat, resulting in an infinite loop.

## Newton-Raphson MATLAB program:

% Newton Raphson Method

clear all

close all

clc

% Change here for different functions

f=@(x) cos(x)-3*x+1

%this is the derivative of the above function

df=@(x) -sin(x)-3

% Change lower limit 'a' and upper limit 'b'

a=0; b=1;

x=a;

for i=1:1:100

x1=x-(f(x)/df(x));

x=x1;

end

sol=x;

fprintf('Approximate Root is %.15f',sol)

a=0;b=1;

x=a;

er(5)=0;

for i=1:1:5

x1=x-(f(x)/df(x));

x=x1;

er(i)=x1-sol;

end

plot(er)

xlabel('Number of iterations')

ylabel('Error')

title('Error Vs. Number of iterations')

ANSWER :

f =

@(x)cos(x)-3*x+1

df =

@(x)-sin(x)-3

Approximate Root is 0.6071016481031231

### You may also like

- Representation of basic discrete time signal using MATLAB
- Jacobi’s iteration method
- Lagrange interpolation with MATLAB Program
- Simpson’s 3/8th Rule MATLAB Program example
- Simpson’s 1/3rd rule MATLAB Program examples
- MATLAB Programming for Trapezoidal rule with example
- Gauss-Seidel – MATLAB Program and Algorithm

If you like this article, please share it with your friends and like or facebook page for future updates. Subscribe to our newsletter to get notifications about our updates via email. If you have any queries, feel free to ask in the comments section below. Have a nice day!

## 4 Comments

Where value of b=1 is used in this program ; pl let me know; if it is not used anywhere :

ReplyDeletewhat is the necessity;

hi my function is f=x-0.2*sind(x)-0.5 but it doesnt work and tells' Undefined function or variable 'x'.'the completed is clear all

ReplyDeleteclose all

clc

% Change here for different functions

f=x-0.2*sind(x)-0.5;

%this is the derivative of the above function

df=1-0.2*cosd(x);

% Change lower limit 'a' and upper limit 'b'

a=0.5; b=1;

x=a;

for i=1:1:100

x1=x-(f(x)/df(x));

x=x1;

end

sol=x;

fprintf('Approximate Root is %.15f',sol)

a=0;b=1;

x=a;

er(5)=0;

for i=1:1:5

x1=x-(f(x)/df(x));

x=x1;

er(i)=x1-sol;

end

plot(er)

xlabel('Number of iterations')

ylabel('Error')

title('Error Vs. Number of iterations') .

may you help me please

Attempted to access f(0.5); index must be a positive integer or logical.

ReplyDeleteand this error too

thank

ReplyDelete