Vous êtes sur la page 1sur 18

Roots of Equation

Graphical Methods
A simple method for obtaining an estimate of root of equation f x 0 is to plot the function and
observe where it crosses X-axis. Graphical methods provide visual insight into techniques.
Problem Use Graphical approach to determine drag coefficient needed for a parachute of mass 68.1 kg to
have velocity of 40 m/s at time t=10 sec. (g=9.8 m/s2)
c

t
gm
f ( c)
(1 e m ) v, v 40 @ t 10 sec
c
c

10
9.8 68.1
68.1
f ( c)
(1 e
) 40
c
c
4
8
12
16
20
f c 34.11484 17.65343 6.066936 -2.26876 -8.40063

Value of function for different Drag Coefficient


40
35
30

Function

25
20
15
10
5
0
-5
-10
-15
4

10

12

14

16

18

20

Drag Coefficient

Root is between 12 & 16, roughly 14.75.

667.38
f (14.75)
(1 e
14.75

14.75
10
68.1

) 40 0.059 close to zero

Bracketing Methods
Methods are based on the fact that Function changes its sign in the vicinity of root. Start with guesses that
bracket the root (assume upper and lower value), and then systematically reduce the width of the bracket
to find correct root.
There are two methods.
Bisection
False Position.

Bisection Method
1) xL , xu are lower and upper bounds.
If f ( xL ) f ( xu ) 0 At least one Root between xL & xu
x L xu
2) x c
2
If f ( xL ) f ( xc ) 0 Root between xL & xc

xu xc Go To Step 2
If f ( xL ) f ( xc ) 0 Root between xc & xu
xL xc Go To Step 2
If f ( xL ) f ( xc ) 0 Root xc
667.38
(1 e 0.14684c ) 40
c
xu 16

Problem f (c )

xL 12

f (12) 6.066936 and


f (12) f (16) 0

f (16) 2.26876

12 16
14, f (14) 1.568699
2
f (12). f (14) 0. Set xL 14.

xc

14 16
15 f (15) 0.42484
2
f (14) f (15) 0 Set xu 15.

xc

14 15
14.5 f (14.5) 0.552319
2
f (14). f (14.5) 0. Set xL 14.5

xc

14.5 15
14.75 f (14.75) 0.058954
2
f (14.5). f (14.75) 0. Set xL 14.75

xc

14.75 15
14.875 f (14.875) 0.18413
2
f (14.75). f (14.875) 0. Set xu 14.875

xc

14.75 14.875
14.8125 f (14.8125) 0.06288
2
f (14.75). f (14.8125) 0. Set xu 14.8125

xc

xc

14.75 14.78125
14.8125
2

f (14.78125) 0.00204

True value is 14.7802734375


ITR
1
2
3
4
5
6
7
8
9
10
11
12

XL

XU

XC

12.00000
14.00000
14.00000
14.50000
14.75000
14.75000
14.75000
14.75000
14.76563
14.77344
14.77734
14.77930

16.00000
16.00000
15.00000
15.00000
15.00000
14.87500
14.81250
14.78125
14.78125
14.78125
14.78125
14.78125

14.00000
15.00000
14.50000
14.75000
14.87500
14.81250
14.78125
14.76563
14.77344
14.77734
14.77930
14.78027

f X C

1.56870 100.00000
-.42484
6.66667
.55232
3.44828
.05895
1.69492
-.18413
.84034
-.06288
.42194
-.00204
.21142
.02844
.10582
.01320
.05288
.00558
.02643
.00177
.01322
-.00014
.00661

Algorithm
Re ad xL & xu
Calculate f ( xL ) & f ( xu )
If f ( xL ) f ( xu ) 0 Then ( If N 0)
( If Yes)
x xu

do xc L
, Calculate f ( xc )
2

If f ( xL ) f ( xc ) 0 xu xc
If f ( xL ) f ( xc ) 0 xL xc , f ( xL ) f ( xc ) while f ( xc ) Toler

Problem 2
f ( x ) x 3 4 x 2 10 has root in
ITR
1
2
3
4
5
6
7
8
9

Root

1.36523438

1,2

XL

XU

1.00000
1.00000
1.25000
1.25000
1.31250
1.34375
1.35938
1.35938
1.36328

2.00000
1.50000
1.50000
1.37500
1.37500
1.37500
1.37500
1.36719
1.36719

XC

f X C

1.50000 2.37500 100.00000


1.25000 -1.79688 20.00000
1.37500
.16211
9.09091
1.31250 -.84839
4.76190
1.34375 -.35098
2.32558
1.35938 -.09641
1.14943
1.36719
.03236
.57143
1.36328 -.03215
.28653
1.36523
.00007
.14306

False Position Method


In bisection method no account is taken of the magnitude of f ( xL ) & f ( xu ). From similar triangles

f ( xL )
f ( xu )

xr xL
xu xr
f ( xL )( xu xr ) f ( xu )( xr xL )
xu f ( xL ). xr . f ( xL ) xr . f ( xu ) xL f ( xu )
xr { f ( xL ) f ( xu )} .xu f ( xL ) xL f ( xu )
x . f ( xL ) xL f ( xu ) xu f ( xL ) xu f ( xu ) xu f ( xu ) xL f ( xu )
xr u

f ( xL ) f ( xu )
f ( xl ) f ( xu )
( x xL ) f ( xu )
xr xu u
f ( xl ) f ( xu )

xr xu f ( xu

For xL & xu

( xu xL )
f ( xu ) f ( xL )

find

f ( xL ). & f ( xu ) Then

xr xu

f ( xu )( xu xL )
f ( xu ) f ( xL )

Problem 1
ITR
1
2
3
4

XL

XU

XC

12.00000
12.00000
12.00000
12.00000

16.00000
14.91130
14.79419
14.78170

14.91130
14.79419
14.78170
14.78036

f X C
-.25428
-.02726
-.00291
-.00031

a
100.00000
.79160
.08455
.00901

Problem 2
ITR
1
2
3
4
5
6
7
ROOT

1.36520330

XL

XU

1.00000
1.26316
1.33883
1.35855
1.36355
1.36481
1.36512

2.00000
2.00000
2.00000
2.00000
2.00000
2.00000
2.00000

XC

f X C

1.26316 -1.60227 100.00000


1.33883 -.43036
5.65196
1.35855 -.11001
1.45144
1.36355 -.02776
.36677
1.36481 -.00698
.09229
1.36512 -.00176
.02320
1.36520 -.00044
.00583

Program Bisection Method


#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float xL,xU,xm,temp,toler;
float product(float xL,float xm);
float value(float x);
cout<<" enter lower and upper bound \n";
cin>>xL>>xU;
toler=0.00000001;
if(product(xL,xU)<0.0){
cout<<" lower and upper bound "<<xL<<'\t'<<xU<<endl;
do{
xm=(xL+xU)/2.0;
temp=product(xL,xm);
if(temp<0.0)
xU=xm;
else
xL=xm;
cout<< " approx root = "<<xm<<'\t'<<temp<<endl;
}while(fabs(temp)>toler);
}else
cout<< " Revise xL and xU \n";
}
float product(float xL,float xm)
{
float value(float x);
float temp, fL, fm;
fL=value(xL);
fm=value(xm);
temp=fL*fm;
return(temp);
}
float value(float x)
{
float temp;
temp=x*x*x-12*x*x+45*x-54;
return(temp);
}
Output
enter lower and upper bound
1 10
lower and upper bound 1
10
approx root = 5.5
62.5
approx root = 7.75 -123.389
approx root = 6.625 -25.6653
approx root = 6.0625 -1.83182
approx root = 5.78125 5.28784
approx root = 5.92188 1.1286
approx root = 5.99219 0.0466526

approx root = 6.02734 -0.0175282


approx root = 6.00977 -0.00618711
approx root = 6.00098 -0.00061583
approx root = 5.99658 0.0021474
approx root = 5.99878 0.000337756
approx root = 5.99988 1.20867e-005
approx root = 6.00043 -4.22448e-006
approx root = 6.00015 -1.50874e-006
approx root = 6.00002 -1.3411e-007
approx root = 5.99995 5.36442e-007
approx root = 5.99998 8.19564e-008
approx root = 6
2.56114e-009
-------------------------------Process exited after 4.463 seconds with return value 0
Press any key to continue . . .

Program false-position Method


#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float xL,xU,xm,temp,fxL,fxU;
float product(float xL,float xm);
float value(float x);
cout<<" enter lower and upper bound \n";
cin>>xL>>xU;
if(product(xL,xU)<0.0){
cout<<" lower and upper bound "<<xL<<'\t'<<xU<<endl;
do{
fxL=value(xL);
fxU=value(xU);
xm=xU-(xU-xL)*fxU/(fxU-fxL);
temp=product(xL,xm);
if(temp<0.0)
xU=xm;
else
xL=xm;
cout<< " approx root = "<<xm<<'\t'<<temp<<endl;
}while(fabs(temp)>0.00000001);
}else
cout<< " Revise xL and xU \n";
}
float product(float xL,float xm)
{
float value(float x);
float temp, fL, fm;
fL=value(xL);
fm=value(xm);
temp=fL*fm;
return(temp);
}

float value(float x)
{
float temp;
temp=x*x*x-5*x*x+7*x-3;
return(temp);
}
Output
enter lower and upper bound
0 3.5
lower and upper bound 0
3.5
approx root = 1.71429 1.96793
approx root = 2.0241 0.671393
approx root = 2.38823 1.2067
approx root = 2.69277 1.03793
approx root = 2.8702 0.399681
approx root = 2.95009 0.0861724
approx root = 2.98158 0.0137317
approx root = 2.99331 0.00192397
approx root = 2.99758 0.000256513
approx root = 2.99913 3.35934e-005
approx root = 2.99969 4.37106e-006
approx root = 2.99989 5.72116e-007
approx root = 2.99996 7.30361e-008
approx root = 2.99999 9.16771e-009
-------------------------------Process exited after 4.209 seconds with return value 0
Press any key to continue . . .

Open Methods
Newton Raphson Method
xi 1 xi

f ( x)
f ' ( x)

F
e x 1
x

F ( x) e x x
Iteration
1
2
3
4
5
6
7

F(X)

0
0.5
0.566311
0.567143
0.567143
0.567143
0.567143

1
0.106531
0.001305
1.96E-07
4.44E-15
0
0

F ( x) x10 1

F'(X)
-2
-1.60653
-1.56762
-1.56714
-1.56714
-1.56714
-1.56714

F
10 x 9
x

Newton Raphson Method


X
F(X)
F'(X)
1.3 12.7858492 106.045
1.17943 4.20860657 44.16207
1.084131 1.24293636 20.6888
1.024053 0.2683079 12.38518
1.002389 0.02415311 10.21712
1.000025 0.00025472 10.00229
1 2.9188E-08
10
1
0
10
Computation with Guess value 1.3
Determine the highest real root of

f ( x) x 3 6 x 2 11x 6.1
Using the Newton Raphson method, perform four
iteration with starting value 3.5.

f ( x) x 3 6 x 2 11x 6.1
f ' ( x ) 3 x 2 12 x 11
X
3.5
3.191304
3.068699
3.047317
3.046681
3.046681
3.046681

F(X)
1.775
0.399402
0.05188
0.001456
1.27E-06
9.68E-13
0

F'(X)
5.75
3.257618
2.426352
2.290617
2.286624
2.28662
2.28662

Error
9.673025
3.995359
0.701669
0.020864
1.82E-05
1.39E-11

The effect of starting value is clear from the next


trial. If same example is solved with starting
value of o.5 , it requites 43 iteration as compare
to those 7 with 1.3 as starting value.

Iteration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

X
0.5
51.65
46.485
41.8365
37.65285
33.88757
30.49881
27.44893
24.70403
22.23363
20.01027
18.00924
16.20832
14.58749
13.12874
11.81586
10.63428
9.570849
8.613764
7.752388
6.977149
6.279434
5.651491
5.086342
4.577708
4.119937
3.707944
3.33715
3.003437
2.703098
2.432801
2.189555
1.970686
1.77384
1.597031
1.438808
1.298711
1.178355
1.08335
1.023665
1.002316
1.000024
1

1.3
1.17943
1.084131
1.024053
1.002389
1.000025
1
1

Program Newton-Raphson Method


#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float x, fx, dfx, xnew;
int i=0;
float value(float x);
float dvalue(float x);
cout<<" Enter starting value of x \n";
cin>>x;
do{
fx=value(x);
dfx=dvalue(x);
xnew=x-fx/dfx;
i=i+1;
cout<<i<<'\t'<<x<<'\t'<<fx<<endl;
x=xnew;
}while(fabs(fx)>0.000001);
cout<< " Root is "<<x<<endl;
}
float value(float x)
{
float temp;
temp=x*x*x-5*x*x+7*x-3;
return(temp);
}
float dvalue(float x)
{
float temp;
temp=3*x*x-10*x+7;
return(temp);
}
Output
Enter starting value of x
1.6
1
1.6 -0.504001
2
1.21818 -0.0848198
3
1.10198 -0.0197382
4
1.04958 -0.00479412
5
1.02447 -0.00118303
6
1.01216 -0.000294209
7
1.00606 -7.34329e-005
8
1.00301 -1.81198e-005
9
1.0015 -4.29153e-006
10
1.00079 -1.43051e-006
11
1.00034 -4.76837e-007
Root is 0.999985
-------------------------------Process exited after 2.96 seconds with return value 0

Multiple Roots
f ( x) ( x 3)( x 1)( x 1) x 3 5 x 2 7 x 3
In multiple roots, function does change sign at even multiple roots. Main problem is related to the fact
that not only f(x) but also f(x) tends to zero. A simple way to overcome this difficulty is based on the fact
that always f(x) reach zero before f(x).
Ralston and Rabinowitz
f ( x)
xl 1 xl m
, where m number of multiple roots.
f ' ( x)
Another approach is assume function u(x), such that u(x) has same root as f(x).
f ( x)
u ( x)
f ' ( x)
u ( x)
xl 1 xl
u' ( x)
f ' ( x). f ' ( x ) f ( x ). f " ( x)
u' ( x)
( f ' ( x)) 2

xl 1
xl 1

f ( x)
( f ' ( x)) 2
xl
.
f ' ( x) ( f ' ( x)) 2 f ( x ). f " ( x))
f ( x). f ' ( x)
xl
f ' ( x) 2 f ( x). f " ( x )

F ( x) x 3 5 x 2 7 x 3
F
2F
3x 2 10 x 7
6 x 10
x
x 2
Compare two approach
x3 5x 2 7 x 3
1. x New x (
)
3 x 2 10 x 7
( x 3 5 x 2 7 x 3)(3x 2 10 x 7)
2. x New x
(3 x 2 10 x 7) 2 ( x 3 5 x 2 7 x 3)(6 x 10)

Iteration
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

x
0
0.42857143
0.68571429
0.8328654
0.91332989
0.95578329
0.9776551
0.98876617
0.99436744
0.99717977
0.99858889
0.9992942
0.99964704
0.9998235
0.99991175
0.99995587
0.99997794
0.99998897
0.99999448
0.99999724
0.99999862
0.99999931
0.99999966

x
App Error True Error Iteration
True Error
100
0
0
100
100 57.14286
1 1.105263 10.52632
37.5 31.42857
2 1.003082 0.308166
17.66805 16.71346
3 1.000002 0.000238
8.810014 8.667011
4
1 3.73E-09
4.441739 4.421671
2.23717 2.23449
1.12373 1.123383
0.5633 0.563256
0.282028 0.282023
0.141111 0.141111
0.07058 0.07058
0.035296 0.035296
0.01765 0.01765
0.008825 0.008825
0.004413 0.004413
0.002206 0.002206
0.001103 0.001103
0.000552 0.000552
0.000276 0.000276
0.000138 0.000138
6.89E-05 6.9E-05
3.45E-05 3.45E-05

Systems of Nonlinear Equation


Linear simultaneous equations in next chapter.

f ( x) a1 x1 a2 x2 ... an xn b 0
Where a & b are constants.
Algebraic and transcendental equations that do not fit this format are called non-linear equations.

f1 ( x1, x2 ,...., xn ) 0
f 2 ( x1 , x2 ,...., xn ) 0
.
.
f n ( x1 , x2 ,....., xn ) 0
Locate the roots of a set simultaneous equations.

Fixed Point Iteration


Condition for convergence

u v

1
x x
u v

1
y y
u x 2 xy 10 v y 3 xy 2 57

x 10 xy
Iteration
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

X
1.5
2.17944947
1.94053388
2.02045629
1.99302813
2.00238524
1.99918491
2.00027865
1.99990475
2.00003256
1.99998887
2.0000038
1.9999987
2.00000044
1.99999985
2.00000005
1.99999998
2.00000001
2

57 y
3x
Y
3.5
2.860506
3.049551
2.983405
3.005704
2.998054
3.000666
2.999773
3.000078
2.999973
3.000009
2.999997
3.000001
3
3
3
3
3
3

Newton Raphson Method


Taylors Series

u i
u
( y i 1 y i ) i
x
y
v
v
v i ( x i 1 x i ) i ( y i 1 y i ) i
x
y

u i 1 u i ( x i 1 x i )
v i 1

Root estimate corresponds to the value of x and y where u i 1

and

vi 1 are equal to zero.

u l
u
u
u
x i 1 l y i 1 u i x i i y i i
x
y
x
y
v l
v
v
v
x i 1 l y i 1 v i x i i y i i
x
y
x
y
ui
x

vi
x

x i 1

ui
ui
vi

y
1
y
y

vi
ui vi ui vi vi
ui

y
x y y x x
x
v
u v
u v
u
u v
u v
1

{u i i x i i i y i i i v i i x i i i y i i i }
u i v i u i v i
y
x y
y y
y
y x
y y

x y
y x

u
v1
vl l
y
y
xl
u l v1 u l v1

x y y x
ul

x l 1

y l 1

y l 1

[ u l

v1
u v
u v
u
u v
u v
x l l 1 y l l 1 vl l x l l 1 y l l 1 ]
x
x x
y x
x
x x
x y

u l v1 u l v1

x y y x
v
u
vl 1 u l l
x
x
yl
u v u v
( l 1 l 1)
x y y x

v
u
v
y
y
xN x
u v u v

x y y x
u

u
v
u
x
x
yN y
u v u v

x y y x
v

and

u
2x y
x

u
x
y

v
3y2
x

v
1 6 xy
y

X
Y
U
V
U'x
U'y
V'x
V'y
Determin.
1.5
3.5
-2.5
1.625
6.5
1.5
36.75
32.5
156.125
2.036029 2.8438751 -0.06437 -4.75621 6.915933 2.036029 24.26288 35.74127 197.7843
1.998701 3.00228856 -0.00452 0.049571 6.99969 1.998701 27.04121 37.00406 204.9696
2
2.99999941 -1.3E-06 -2.2E-05 6.999999
2
26.99999 36.99999 204.9999
2
3
0
2.24E-12
7
2
27
37
205

Mullers Method
Projects a parabola through three points.

f 2 ( x ) a ( x x2 ) 2 b( x x2 ) c
f ( x0 ) a ( x0 x2 )2 b( x0 x2 ) c
f ( x1 ) a ( x1 x2 )2 b( x1 x2 ) c
f ( x2 ) a ( x2 x2 )2 b ( x2 x2 ) c
c f ( x2 )

f ( x0 ) f ( x2 ) a ( x0 x2 )2 b( x0 x2 )
f ( x1 ) f ( x2 ) a ( x1 x2 ) 2 b( x1 x2 )
f ( x0 ) f ( x2 )
0
a ( x0 x2 ) b
( x0 x2 )

f ( x1 ) f ( x2 )
a ( x1 x2 ) b
( x1 x2 )
f ( x0 ) f ( x2 ) f ( x1 ) f ( x2 )
a ( x0 x1 )

( x0 x2 )
x1 x2
1

x1 f ( x0 ) x1 f ( x2 ) x2 f ( x0 ) x2 f ( x2 ) x0 f ( x1 ) x0 f ( x2 ) x2 f ( x1 ) x2 f ( x2 )
( x0 x1 )( x0 x2 )( x1 x2 )

( x1 x2 ) f ( x0 ) ( x2 x0 ) f ( x1 ) ( x0 x1 ) f ( x2 )
( x0 x1 )( x0 x2 )( x1 x2 )

a ( x0 x1 ) 0 1
a

0 1
(x x )
, b 0 a ( x0 x2 ) 0 (0 1 ) 0 2
x0 x1
( x0 x1 )

b b 2 4ac b b 2 4ac
b 2 (b 2 4ac )
2a
b b 2 4ac 2a (b b 2 4ac )
2c
x3 x2
b b 2 4ac

Program Muller's Method


#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int main()
{
float x0,x1,x2,x3,a,b,c,f0,f1,f2,d0,d1;
float value(float x);
cout<<" Enter x0, x1, x2 \n";
cin>>x0>>x1>>x2;
do{
f0=value(x0);
f1=value(x1);
f2=value(x2);
d0=(f0-f2)/(x0-x2);
d1=(f1-f2)/(x1-x2);
a=(d0-d1)/(x0-x1);
b=d0-a*(x0-x2);
c=f2;
float t1,t2,temp;
temp=sqrt(b*b-4*a*c);
t1=0.5*(-b+temp)/a;
t2=0.5*(-b-temp)/a;
if(fabs(t1)<fabs(t2))temp=t1;
else
temp=t2;
x3=x2+temp;
cout<<" x3 "<<x3<<endl;
x0=x1;
x1=x2;
x2=x3;
}while(fabs(f2)>0.00001);
cout<<" Root "<<x2<<endl;
}
float value(float x)
{
float temp;
temp=x*x*x-13*x-12;
return(temp);
}

Problem
f ( x ) x 3 13 x 12
x 0 4.5, x1 5.5, x 2 5

f ( x 0 ) f (4.5) 20.625
f ( x1 ) f (5.5) 82.875
f ( x 2 ) f (5) 48
0 a( x 0 x 2 ) b
1 a ( x1 x 2 ) b
f ( x 0 ) f ( x 2 ) 20.625 48
0

x0 x2
45 5.0

270375
54.75
0.5

f ( x1 ) f ( x2 ) 82.875 48 34.875

x1 x2
5.5 5
0.5

1 69.75
54.75 a (4.5 5) b
69.75 a (5.5 5) b
(0 1 ) a ( x0 x1 ) a 15
69.75 7.5 b, b 62.25
c 48

15( x x2 )2 62.25( x x2 ) 48 0
x3 5

2c
b b 2 4ac
96

3.976

62.25 62.25 4 15 48
Repeat with 5.5, 5, 3.976
X0

X1

X2

4.5
5.5
5
5.5
5 3.976487
5 3.97648704 4.00105
3.976487 4.0010505 4.000001
4.00105 4.00000071
4
4.000001
4
4

F(x0)
20.625
82.875
48
-0.816332211
0.036780702
2.46845E-05

F(x1)
82.875
48
-0.81633221
0.036780702
2.46845E-05
1.74083E-11

C=F(x2)
48
-0.81633
0.036781
2.47E-05
1.74E-11
0

D0
54.75
54.93313
48.01366
34.71841
35.01261
35.00001

D1
69.75
47.69488
34.73098
35.01262
35.00001
35

a
15
14.47649
12.97754
11.97754
12.00105
11.99937

b
62.25
32.87801
35.04975
35.00004
35
35

Bairstows Method
2

n.

f ( x ) a 0 a1 x a 2 x a n x
Divide by (x-t).
f n 1 ( x ) b1 b2 x b3 x 2 bn x n1 .

remainder

R b0

bn a n
bi ai bi 1t
For i n 1 to 0
To permit, Evaluation of complex roots,
2

Division by x r x s

f n 2 ( x) b2 b3 x bn1 x n 3 bn x n 2 .

Remainder R b0 b1 ( x r )
Synthetic division.
bn a n
bn1 a n 1 r bn .
bi al r bi 1 s bi 2
For i n 1 to 0
For remainder to be zero b1 and b0 must be
zero.
To modify our guess, use Taylors series.
b
b
b1 (r r , s s ) b1 1 r 1 s
r
s
b
b
b 0 (r r , s s ) b0 0 r 0 s.
r
s
For exact guess, LHS is equal to zero.

b1
b
r 1 s b1.
r
s
b0
b
r 0 s b0 .
r
s
If the partial derivatives of the bs can be
determined, then solve above two equations
can be solved simultaneously for r & s.

Cn bn
Cn 1 bn 1 rCn .
Ci bi r Ci 1 s Ci 2
b0
b
b
b
C1 , 0 C 2 , 1 C 2 , 1 C 3 .
r
s
r
s

C2r C3s b1
C1r C3s b0

C2
C
1

C3 r b1

C2 s b0

r
1
2
s C2 C1C3
r
1
2
s C2 C1C3

C2 C3 b1

1 C2 b0
b0C3 b1C2

b1C1 b0C2

bn an
bn1 an 1 r bn
Cn bn
Cn1 bn1 r bn
for i n 2; i 0; i
bi ai r bi1 s bi 2 ;
Ci bi r Ci 2 s Ci 2
End do.

Problem
f ( x ) x 5 3.5 x 4 2.75 x 3 2.125 x 2 3.875 x 1.25
a5 a4 a3 a2
a1 a0
1 -3.5 2.75 2.125 -3.875 1.25

First Iteration
Start with r s 1,
b5 1, b4 4.5, b3 6.25, b2 0.375,
b1 10.5, b0 11.375
C5 1, C4 , 5.5, C3 10.75, C2 4.875,
C1 16.375
Det 199.7969, r 0.35583, s 1.138109

x 5 3.5 x 4 2.75 x 3 2.125 x 2 3.875 1.25 0


( x 2 0.5 x 0.5)( x 3 4 x 2 5.25 x 2.5) 0
( x 2 0.5 x 0.5) 0
0.5 0.52 4 1 (0.5) 0.5 1.5

2
2
0.5,1
Roots

f ( x) x 5 3.5 x 4 2.75x 3 2.125x 2 3.875x 1.25


f ( x) x 5 3.5 x 4 2.75x 3 2.125x 2 3.875x 1.25
r

-1
-0.64417
-0.51111
-0.49969
-0.5
-0.5

b5
-11
0.1381091
0.4697341
0.5002021
0.51
0.51

b4

b3

b2

-4.5
6.25
0.375
-4.14417 5.557658 -2.02742
-4.01111 5.269866 -2.45265
-3.99969 5.248792 -2.4984
-4
5.25
-2.5
-4
5.25
-2.5

b1

b0
c5
-10.5 11.375 1
-1.80143 2.130423 1
-0.14598 0.172521 1
-0.00112 0.000855 1
4.88E-07 -4.6E-07 1
3.91E-14 -5.6E-14 1

c4
-5.5
-4.78834
-4.52223
-4.49937
-4.5
-4.5

c3

c2

10.75
-4.875
8.780271 -8.34472
8.050969 -8.69185
7.99727 -8.74513
8.000001
-8.75
8
-8.75

c1
-16.375
4.786621
8.078345
8.36895
8.375002
8.375

x 3 4 x 2 5.25 x 2.5 0
a3
1

a2
-4

-0.5
1.732143
1.665164
1.898411
1.992598
2.000017
2
2

0.5
3.660714
-1.35763
-1.20592
-1.24118
-1.24994
-1.25
-1.25

a1
5.25
b3
1
1
1
1
1
1
1
1

a0
-2.5
b2
-4.5
-2.26786
-2.33484
-2.10159
-2.0074
-1.99998
-2
-2

x 3 4 x 2 5.25 x 2.5 0
( x 2 2 x 1.25)( x 2) 0
x 2 2 x 1.25 0
Roots

2 45 2i

1 0.5 i
2
2

b1
8
4.982462
0.004486
0.054404
0.008871
5.5E-05
2.75E-10
0

b0
-8.75
-2.17164
0.677311
0.137621
0.009231
-2.1E-05
2.38E-09
0

c3
1
1
1
1
1
1
1
1

c2

c1
Det
dr
ds
-5
11
14 2.232143 3.160714
-0.53571 7.715242 -7.42825 -0.06698 -5.01834
-0.66967 -2.46826 2.916716 0.233247 0.151713
-0.20318 -1.53723 1.578508 0.094187 -0.03527
-0.0148 -1.26181 1.262029 0.007418 -0.00876
3.32E-05 -1.24982 1.249824 -1.7E-05 -5.5E-05
-3.8E-09
-1.25
1.25
1.9E-09 -2.8E-10
0
-1.25
1.25
0
0

Det
dr
199.7969 0.35583
27.60656 0.133057
10.50975 0.011427
9.548493 -0.00031
9.562502 6.53E-08
9.5625 -1.1E-14

ds
1.138109
0.331625
0.030469
-0.0002
1.04E-08
-1.7E-14

Vous aimerez peut-être aussi