X X X X XX Solution: Solve Using Modified Newton's Method The Following System of Non Linear Algebraic Equations
X X X X XX Solution: Solve Using Modified Newton's Method The Following System of Non Linear Algebraic Equations
Solve using modified Newton’s method the following system of non‐linear algebraic equations
x13 − 2 x2 − 2 = 0
x13 − 5 x32 + 7 = 0
x2 x32 − 1 = 0
Solution
f1 ( x1 , x2 , x3 ) = x13 − 2 x2 − 2
f 2 ( x1 , x2 , x3 ) = x13 − 5 x32 + 7
f3 ( x1 , x2 , x3 ) = x2 x32 − 1
The Newton’s method gives the improvement for the components of x in the s+1 th iteration as:
∂f1 ∂f ∂f
= 3 x12 , 1 = − 2, 1 = 0
∂x1 ∂x2 ∂x3
∂f 2 ∂f ∂f
We have = 3 x12 , 2 = 0, 2 = − 10 x3
∂x1 ∂x2 ∂x3
∂f3 ∂f ∂f
= 0, 3 = x32 , 3 = 2 x2 x3
∂x1 ∂x2 ∂x3
⎡3x12 −2 0 ⎤
⎢ ⎥
Therefore, you have [ J ] = ⎢3x12 0 −10 x3 ⎥
⎢ 0 x32 2 x2 x3 ⎥⎦
⎣
⎧ x1( 0) ⎫ ⎧2 ⎫ ⎧ f1( 0) ⎫ ⎧ 4 ⎫
⎪⎪ ( 0) ⎪⎪ ⎪ ⎪ ⎪⎪ ( 0) ⎪⎪ ⎪ ⎪
You start with some initial guess ⎨ x2 ⎬ = ⎨1 ⎬ and you have ⎨ f 2 ⎬ = ⎨−5⎬
⎪ ( 0) ⎪ ⎪2 ⎪ ⎪ (0) ⎪ ⎪ 3 ⎪
⎪⎩ x3 ⎪⎭ ⎩ ⎭ ⎪⎩ f3 ⎪⎭ ⎩ ⎭
In Modified Netwon-Raphson method, we need to evaluate J only once and will retain the same J in
every iteration.
⎡12 −2 0 ⎤
[ J ] = ⎢⎢12 0 −20⎥⎥
⎣⎢ 0 4 4 ⎦⎥
We are going to demonstrate a screen-based iteration using Matlab to improve the values of x and
reduce f1, f2, and f3 to zero.
>> x2=x1-inv(Ja)*f
x2 =
1.6212
0.7273
1.5227
>> format('long')
>> x3=x2-inv(Ja)*f
x3 =
1.53663222244568
0.62305981490335
1.45535866744075
>> x4=x3-inv(Ja)*f
x4 =
1.49527778567500
0.56605102825391
1.43244655754241
>> x5=x4-inv(Ja)*f
x5 =
1.47253269938996
0.53514212973512
1.42298498546215
>> x6=x5-inv(Ja)*f
x6 =
1.45955234942051
0.51860291759251
1.41862371000872
>> x7=x6-inv(Ja)*f
x7 =
1.45208328533760
0.50982273635118
1.41648267599411
>> x8=x7-inv(Ja)*f
x8 =
1.44779800889274
0.50518044665431
1.41539492781168
>> x9=x8-inv(Ja)*f
x9 =
1.44535670311054
0.50273067657736
1.41483229505066
>> x11=x10-inv(Ja)*f
x11 =
1.44320414254363
0.50075829025998
1.41438456439279 (See the results are almost converging)
>> f=[x11(1)^3‐2*x11(2)‐2; x11(1)^3‐5*x11(3)^2+7;x11(2)*x11(3)^2‐1]
f =
0.00444413371806
0.00354223427514
0.00175879529821
>> x12=x11‐inv(Ja)*f
x12 =
1.44277400960464
0.50039955948507
1.41430359634315
>> f=[x12(1)^3‐2*x12(2)‐2; x12(1)^3‐5*x12(3)^2+7;x12(2)*x12(3)^2‐1]
f =
0.00247470428329
0.00200051010758
0.00092655203759
>> x13=x12‐inv(Ja)*f
x13 =
1.44253627995973
0.50021053375724
1.41426098406158
>> f=[x13(1)^3‐2*x13(2)‐2; x13(1)^3‐5*x13(3)^2+7;x13(2)*x13(3)^2‐1]
f =
0.00136842850743
0.00111884082774
0.00048816127301
>> x14=x13‐inv(Ja)*f
x14 =
1.44240564410922
0.50011093290791
1.41423854459266
>> f=[x14(1)^3‐2*x14(2)‐2; x14(1)^3‐5*x14(3)^2+7;x14(2)*x14(3)^2‐1]
f =
1.0e‐003 *
0.75217935444893
0.62074011237723
0.25720416022978
>> x15=x14‐inv(Ja)*f
x15 =
1.44233421566636
0.50005845192795
1.41422672453256
Now you can see that the results have converged to a tolerance, which is suggested that
max x j ( s +1) − x j ( s ) ≤ 1 × 10−4 . Here we took 15 iterations to converge to the solution.
⎧ x1 ⎫ ⎧1.44233 ⎫
⎪ ⎪ ⎪ ⎪
Therefore, the one solution of the system is: ⎨ x2 ⎬ = ⎨0.50006 ⎬
⎪ x ⎪ ⎪1.41423 ⎪
⎩ 3⎭ ⎩ ⎭