Professional Documents
Culture Documents
Lec 4newton Raphson
Lec 4newton Raphson
Lec 4newton Raphson
f(xi-1)
f(xi )
xi 1 = xi -
f (xi )
x
xi+2 xi+1 xi
Derivation
f(x) AB
tan(
AC
f(xi) B
f ( xi )
f ' ( xi )
xi xi 1
A f ( xi )
C
x xi 1 xi
xi+1 xi f ' ( xi )
Algorithm for Newton-Raphson
Method
Step 1
Evaluate df/dx = f(x) symbolically: that is find an analytical
expression for the first derivative of the function with respect to x.
Newton-Raphson Method: Step 2
Calculate the next estimate of the root
f(xi )
xi 1 = xi -
f'(xi )
xi 1- xi
a = x 100
xi 1
Step 3
• Find if the absolute relative approximate error is greater than
the pre-specified relative error tolerance.
f x x 3-0.165 x 2+3.993x10- 4
f x 3x 2 -0.33x
f x x 3-0.165 x 2
+3.993x10- 4
Iteration #1
x0 0.02
f x0
x1 x0
f ' x0
3.413x104
x1 0.02
5.4 x103
0.08320
a 75.96%
Iteration #2
x1 0.08320
f x1
x2 x1
f ' x1
1.670x104
x2 0.08320
6.689x103
0.05824
a 42.86%
Iteration #3
x2 0.05824
f x2
x3 x2
f ' x2
3.717 x105
0.05284
9.043x103
0.06235
a 6.592%
Newton’s Method: computer algo
Do while |x2 - x1| >= tolerance value 1
or |f(x2)|>= tolerance value 2
or f’(x1) ~= 0
Set x2 = x1 - f(x1)/f’(x1)
Set x1 = x2;
END loop
Example 2:
• Let us solve the following
problem:
x5 + x3 + 4x2 - 3x – 2 = 0
Then f(x) = x5 + x3 + 4x2 - 3x – 2
for k=1:n
f = x^5 + x^3 + 4*x^2 - 3*x - 2;
dfdx = 5*x^4 + 3*x^2 + 8*x - 3;
x = x - f/dfdx;
fprintf('%3d %12.3e %12.3e %18.15f\n',k-1,f,dfdx,x);
end
Newton’s Method
Result of the computer program: x0 = -2.0 and iterations n = 10.
f x x 1 0
3
5
-2 -1 2
0
0 3 1 2
x
Inflection Point
1
-5
-10
-15
-20
Drawbacks (continued)
1.0 0 E-0 5
f(x)
7.50 E-0 6
5.0 0 E-0 6
2 .50 E-0 6
0 .0 0 E+0 0
x
-0 .0 3 -0 .0 2 -0 .0 1 0 0 .0 1 0 .0 2 0 .0 3 0 .0 4
-2 .50 E-0 6
0.02
-5.0 0 E-0 6
-7.50 E-0 6
f x x 3 0.03 x 2 2.4x10 6 0
-1.0 0 E-0 5
Division by zero
Drawbacks (continued)
1.5
f(x)
1
0.5
x
0
-2 -0.063069
0 0.54990 2 4 4.462 6 7.53982
8 10
-0.5
-1
f x Sin x 0
-1.5
Root Jumping
Drawbacks (continued)
6
f(x)
f x x2 2 0
5
3
3
2
2
11
4
0
x
-2 -1 0 1 2 3
-1.75 -0.3040 0.5 3.142
-1
for k=1:n
f = x^3 - 4*x^2 + x – 10.0;
dfdx = 3*x^2 - 8*x + 1.0;
x = x - f/dfdx;
fprintf('%3d %12.3e %12.3e %18.15f\n',k-1,f,dfdx,x);
end
Example 3: results
Result of the computer program: x0 = -2.0 and iterations n = 10.
for k=1:n
f = exp(x) + x – 10.0;
dfdx = exp(x) + 1.0;
x = x - f/dfdx;
fprintf('%3d %12.3e %12.3e %18.15f\n',k-1,f,dfdx,x);
end
Example 4: results
Result of the computer program: x0 = -2.0 and iterations n = 10.
xn a en
f ( xn )
However, xn 1 a en
f ( xn )
f ( xn )
xn 1 a en
f ( xn )
en2 f a
xn 1 a en en
2 f (a )
en2 f a
a
2 f (a)
Hence error in (n+1)th iteration is proportional to (en)2 and that is why it
converges rapidly.