chapter 12 iterative methods for system of equations

Post on 18-Dec-2015

228 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Chapter 12Chapter 12

Iterative Methods for Iterative Methods for System of EquationsSystem of Equations

Iterative Methods for Solving Iterative Methods for Solving Matrix EquationsMatrix Equations

0C , dCxx bAx

ii

Jacobi methodGauss-Seidel Method*Successive Over Relaxation (SOR)MATLAB’s Methods

Iterative MethodsIterative Methods

4444343242141

3434333232131

2424323222121

1414313212111

bxaxaxaxa

bxaxaxaxa

bxaxaxaxa

b xaxaxaxa

4434324214144

3343423213133

2242432312122

1141431321211

a/)xaxaxab(x

a/)xaxaxab(x

a/)xaxaxab(x

a/)xaxaxab(xCan be converted to

Idea behind iterative methods: Convert Ax = b into x = Cx +d

Generate a sequence of approximations (iteration) x1, x2, …., with initial x0

Similar to fix-point iteration method

Iterative Methods Iterative Methods

dCxx bAx Equivalent system

dCxx 1jj

Rearrange Matrix EquationsRearrange Matrix Equations

Rewrite the matrix equation in the same way

4444343242141

3434333232131

2424323222121

1414313212111

bxaxaxaxabxaxaxaxabxaxaxaxabxaxaxaxa

44

43

44

432

44

421

44

414

33

34

33

342

33

321

33

313

22

24

22

243

22

231

22

212

11

14

11

143

11

132

11

121

a

b x

a

ax

a

ax

a

ax

a

bx

a

a x

a

ax

a

ax

a

bx

a

ax

a

a x

a

ax

a

bx

a

ax

a

ax

a

a x

n equations

n variables

44

4

33

3

22

2

11

1

44

43

44

42

44

41

33

34

33

32

33

31

22

24

22

23

22

21

11

14

11

13

11

12

a

ba

ba

ba

b

d ;

0a

a

a

a

a

aa

a 0

a

a

a

aa

a

a

a0

a

aa

a

a

a

a

a 0

C

Iterative MethodsIterative Methods

x and d are column vectors, and C is a square matrix

0C ;dCxx bAx ii1jj

ConvergenceConvergence CriterionCriterion

For system of equations

j 1i

a,i iji

x1 100% for x

x

2 Norm of the residual vector

all

Ax

ji

s

s

x

b

)C(eig ,1i

Jacobi MethodJacobi Method

44old

343old

242old

1414new

4

33old

434old

232old

1313new

3

22old

424old

323old

1212new

2

11old

414old

313old

2121new

1

axaxaxabx

axaxaxabx

axaxaxabx

axaxaxabx

/)(

/)(

/)(

/)(

Gauss-Seidel MethodGauss-Seidel Method

44new

343new

242new

1414new

4

33old

434new

232new

1313new

3

22old

424old

323new

1212new

2

11old

414old

313old

2121new

1

axaxaxabx

axaxaxabx

axaxaxabx

axaxaxabx

/)(

/)(

/)(

/)(

Differ from Jacobi method by sequential updating: use new xi immediately as they become available

Gauss-Seidel MethodGauss-Seidel Method

44j

343j

242j

1414j

4

331j

434j

232j

1313j

3

221j

4241j

323new

1212j

2

111j

4141j

3131j

2121j

1

axaxaxabx

axaxaxabx

axaxaxabx

axaxaxabx

/)(

/)(

/)(

/)(

use new xi at jth iteration as soon as they become available

isji

1ji

ji

ia, x all for 100x

xx

%

(a) Gauss-Seidel Method (b) Jacobi Method

Convergence and Diagonal DominantConvergence and Diagonal Dominant

Sufficient condition -- A is diagonally dominantDiagonally dominant: the magnitude of the diagonal

element is larger than the sum of absolute value of the other elements in the row

Necessary and sufficient condition -- the magnitude of the largest eigenvalue of C (not A) is less than 1

Fortunately, many engineering problems of practical importance satisfy this requirement

Use partial pivoting to rearrange equations!

n

ij1i

ijii aa

Convergence or Divergence of Jacobi and Convergence or Divergence of Jacobi and Gauss-Seidel MethodsGauss-Seidel Methods

Same equations, but in different order Rearrange the order of the equations to ensure convergence

9323

31261

52101

3218

A

is strictly diagonally dominant because diagonal elements are greater than sum of absolute value of other elements in row

is not diagonally dominant

Diagonally Dominant MatrixDiagonally Dominant Matrix

9323

31261

5261

3218

A

Example:

12x6x x3

7x x4x2

10x2x2x5

321

321

321

6

12 x

6

1x

6

3 x

4

7 x

4

1 x

4

2 x

5

10x

5

2x

5

2 x

old2

old1

new3

old3

old1

new2

old3

old2

new1

Jacobi Gauss-Seidel

6

12 x

6

1x

6

3 x

4

7 x

4

1 x

4

2 x

5

10x

5

2x

5

2 x

new2

new1

new3

old3

new1

new2

old3

old2

new1

Jacobi and Gauss-SeidelJacobi and Gauss-Seidel

ExampleExample

Not diagonally dominant !!Order of the equation can be importantRearrange the equations to ensure convergence

086

114

1205

45x8x6

2xxx4

80x12x5

21

321

31

1205

086

114

80x12x5

45x8x6

2xxx4

31

21

321

Gauss-Seidel IterationGauss-Seidel Iteration

12/)x580(x

8/)x645(x

4/)2xx(x

13

12

321

Assume x1 = x2 = x3 = 0

Rearrange

4583.612/)5.0(580x

0.68/)5.0(645x

5.04/)200(x

3

2

1First iteration

Gauss-Seidel MethodGauss-Seidel Method

7561.712/))6146.2(580(x

6641.38/))6146.2(645(x

6146.24/)4583.662(x

3

2

1

6479.712/))3550.2(580(x

8587.38/))3550.2(645(x

3550.24/)7561.76641.32(x

3

2

1

6569.712/))3767.2(580(x

8425.38/))3767.2(645(x

3767.24/)6479.78587.32(x

3

2

1

Second iteration

Third iteration

Fourth iteration

6562.7x ,8438.3x ,3750.2x :th7

6563.7x ,8437.3x ,3750.2x :th6

6562.7x ,8439.3x ,3749.2x :th5

321

321

321

MATLAB M-File for Gauss-Seidel methodMATLAB M-File for Gauss-Seidel method

Continued on next page

MATLAB M-File for Gauss-Seidel methodMATLAB M-File for Gauss-Seidel method

Continued from previous page

» A = [4 –1 –1; 6 8 0; -5 0 12];

» b = [-2 45 80];

» x=Seidel(A,b,x0,tol,100);

i x1 x2 x3 x4 ....

1.0000 -0.5000 6.0000 6.4583

2.0000 2.6146 3.6641 7.7561

3.0000 2.3550 3.8587 7.6479

4.0000 2.3767 3.8425 7.6569

5.0000 2.3749 3.8439 7.6562

6.0000 2.3750 3.8437 7.6563

7.0000 2.3750 3.8438 7.6562

8.0000 2.3750 3.8437 7.6563

Gauss-Seidel method converged

Gauss-Seidel Iteration

Converges faster than the Jacobi method shown in next page

» A = [4 –1 –1; 6 8 0; -5 0 12];» b = [-2 45 80];» x=Jacobi(A,b,0.0001,100); i x1 x2 x3 x4 .... 1.0000 -0.5000 5.6250 6.6667 2.0000 2.5729 6.0000 6.4583 3.0000 2.6146 3.6953 7.7387 4.0000 2.3585 3.6641 7.7561 5.0000 2.3550 3.8561 7.6494 6.0000 2.3764 3.8587 7.6479 7.0000 2.3767 3.8427 7.6568 8.0000 2.3749 3.8425 7.6569 9.0000 2.3749 3.8438 7.6562 10.0000 2.3750 3.8439 7.6562 11.0000 2.3750 3.8437 7.6563 12.0000 2.3750 3.8437 7.6563 13.0000 2.3750 3.8438 7.6562 14.0000 2.3750 3.8438 7.6562

Jacobi method converged

Jacobi Iteration

Relaxation MethodRelaxation Method

Relaxation (weighting) factor Gauss-Seidel method: = 1Overrelaxation 1 < < 2Underrelaxation 0 < < 1

Successive Over-relaxation (SOR)

oldi

newi

newi x1xx )(

Successive Over Relaxation Successive Over Relaxation (SOR)(SOR)

Relaxation method

44new

343new

242new

1414old

4new

4

33old

434new

232new

1313old

3new

3

22old

424old

323new

1212old

2new

2

11old

414old

313old

2121old

1new

1

)/axaxaxa(b)x(1x

)/axaxaxa(b)x(1x

)/axaxaxa(b)x(1x

)/axaxaxa(b)x(1x

2 2 21 1 23 3 24 4 22

2 2 2

2 2 21 1 23 3 24 4 22

G-S method ( ) /

SOR method (1 )

(1 ) ( ) /

new new old old

new old new

old new old old

x b a x a x a x a

x x x

x b a x a x a x a

SOR IterationsSOR Iterations

12/)x580(x

8/)x645(x

4/)2xx(x

13

12

321

Assume x1 = x2 = x3 = 0, and = 1.2

Rearrange

7.712/)6.0(5802.10)2.0(x

29.78/)6.0(6452.10)2.0(x

6.04/)200(2.10)2.0(x

3

2

1

First iteration

Seidel-Gauss :S-G x 1x x oldi

SGii ;

SOR IterationsSOR Iterations

4685.812/))017.4(580(2.1)7.7()2.0(x

6767.18/))017.4(645(2.1)29.7()2.0(x

017.44/)27.729.7(2.1)6.0()2.0(x

3

2

1

Second iteration

Third iteration

1264.712/))6402.1(580(2.1)4685.8()2.0(x

9385.48/))6402.1(645(2.1)6767.1()2.0(x

6402.14/)24685.86767.1(2.1)017.4()2.0(x

3

2

1

Converges slower !! (see MATLAB solutions)

There is an optimal relaxation parameter

Successive Over RelaxationSuccessive Over Relaxation

Relaxation factor w (= )

» [A,b]=Example

A = 4 -1 -1 6 8 0-5 0 12

b = -2 45 80

» x0=[0 0 0]'x0 = 0 0 0» tol=1.e-6tol = 1.0000e-006

» w=1.2; x = SOR(A, b, x0, w, tol, 100); i x1 x2 x3 .... 1.0000 -0.6000 7.2900 7.7000 2.0000 4.0170 1.6767 8.4685 3.0000 1.6402 4.9385 7.1264 4.0000 2.6914 3.3400 7.9204 5.0000 2.2398 4.0661 7.5358 6.0000 2.4326 3.7474 7.7091 7.0000 2.3504 3.8851 7.6334 8.0000 2.3855 3.8261 7.6661 9.0000 2.3705 3.8513 7.6521 10.0000 2.3769 3.8405 7.6580 11.0000 2.3742 3.8451 7.6555 12.0000 2.3753 3.8432 7.6566 13.0000 2.3749 3.8440 7.6561 14.0000 2.3751 3.8436 7.6563 15.0000 2.3750 3.8438 7.6562 16.0000 2.3750 3.8437 7.6563 17.0000 2.3750 3.8438 7.6562 18.0000 2.3750 3.8437 7.6563 19.0000 2.3750 3.8438 7.6562 20.0000 2.3750 3.8437 7.6563 21.0000 2.3750 3.8438 7.6562

SOR method converged

SOR with SOR with = 1.2 = 1.2

Converge Slower !!

» [A,b]=Example2

A =

4 -1 -1 6 8 0 -5 0 12

b = -2 45 80

» x0=[0 0 0]'

x0 = 0 0 0

» tol=1.e-6

tol = 1.0000e-006

» w = 1.5; x = SOR(A, b, x0, w, tol, 100); i x1 x2 x3 .... 1.0000 -0.7500 9.2812 9.5312 2.0000 6.6797 -3.7178 9.4092 3.0000 -1.9556 12.4964 4.0732 4.0000 6.4414 -5.0572 11.9893 5.0000 -1.3712 12.5087 3.1484 6.0000 5.8070 -4.3497 12.0552 7.0000 -0.7639 11.4718 3.4949 8.0000 5.2445 -3.1985 11.5303 9.0000 -0.2478 10.3155 4.0800 10.0000 4.7722 -2.0890 10.9426 11.0000 0.1840 9.2750 4.6437 12.0000 4.3775 -1.1246 10.4141 13.0000 0.5448 8.3869 5.1335 14.0000 4.0477 -0.3097 9.9631 15.0000 0.8462 7.6404 5.5473 ……… 20.0000 3.3500 1.4220 9.0016 ……… 30.0000 2.7716 2.8587 8.2035 ……… 50.0000 2.4406 3.6808 7.7468 ……… 100.0000 2.3757 3.8419 7.6573

SOR method did not converge

SOR with SOR with = 1.5 = 1.5

Diverged !!

CVEN 302-501CVEN 302-501Homework No. 8Homework No. 8

Chapter 12Prob. 12.4 & 12.5 (Hand

calculation and check the results using the programs)

You do it but do not hand in. The You do it but do not hand in. The solution will be posted on the net. solution will be posted on the net.

Nonlinear SystemsNonlinear SystemsSimultaneous nonlinear equations

Example

0xxxxf

0xxxxf

0xxxxf

0xxxxf

n321n

n3213

n3212

n3211

),,,,(

),,,,(

),,,,(

),,,,(

4xx2x5

8xx7x5xx2

7x4x2x

2321

232221

322

21

Two Nonlinear FunctionsTwo Nonlinear Functions

Circle x2 + y2 = r2

Ellipse (x/a)2 + (y/b)2 = 1

f(x,y)=0g(x,y)=0 Solution

depends on initial guesses

function [x1,y1,x2,y2]=curves(r,a,b,theta)

% Circle with radius A

x1=r*cos(theta); y1=r*sin(theta);

% Ellipse with major and minor axes (a,b)

x2=a*cos(theta); y2=b*sin(theta);

» r=2; a=3; b=1; theta=0:0.02*pi:2*pi;

» [x1,y1,x2,y2]=curves(2,3,1,theta);

» H=plot(x1,y1,'r',x2,y2,'b');

» set(H,'LineWidth',3.0); axis equal;

Newton-Raphson MethodNewton-Raphson MethodOne nonlinear equation (Ch.6)

Two nonlinear equations (Taylor-series)

)(

)(

)()()()(

i

ii1i

ii1ii1i

xf

xfxx

xfxxxfxf

2

i2i21i2

1

i2i11i1i21i2

2

i1i21i2

1

i1i11i1i11i1

x

fxx

x

fxxff

x

fxx

x

fxxff

,,,

,,,,,

,,,

,,,,,

)()(

)()(

Intersection of Two CurvesIntersection of Two Curves

Two roots: f1(x1,x2) = 0 , f2 (x1,x2) = 0

Alternatively

2

i2i2

1

i2i1i21i2

2

i21i1

1

i2

2

i1i2

1

i1i1i11i2

2

i11i1

1

i1

1i2

1i1

x

fx

x

fxfx

x

fx

x

f

x

fx

x

fxfx

x

fx

x

f

0f

0f

,,

,,,,

,,

,

,,

,,,,

,,

,

,

,

f

f

xx

xx

x

f

x

fx

f

x

f

i2

i1

i21i2

i11i1

2

i2

1

i2

2

i1

1

i1

.

,

,,

,,

,,

,,[J]{x} = { f }

Jacobian matrix

Intersection of Two CurvesIntersection of Two Curves

Intersection of a circle and a parabola

0xxxxf

01xxxxf or

0yxyxg

01yxyxf

221212

22

21211

2

22

),(

),(

),(

),(

1x2

x2x2

x

f

x

fx

f

x

f

xxxxf

1xxxxf

1

21

2

2

1

2

2

1

1

1

221212

22

21211

),(

),(

i2

i1

i2

i1

i1

i2i1

f

f

x

x

1x2

x2x2xJ

,

,

,

,

,

,,}]{[

Intersection of Two CurvesIntersection of Two Curves

i21i2

i11i1oldnew

i2

i1

xy

xxxx

x

xx

,,

,,

,

,

Solve for xnew

function [x,y,z]=ellipse(a,b,c,imax,jmax)for i=1:imax+1 theta=2*pi*(i-1)/imax; for j=1:jmax+1 phi=2*pi*(j-1)/jmax; x(i,j)=a*cos(theta); y(i,j)=b*sin(theta)*cos(phi); z(i,j)=c*sin(theta)*sin(phi); endend

» a=3; b=2; c=1; imax=50; jmax=50;

» [x,y,z]=ellipse(a,b,c,imax,jmax);

» surf(x,y,z); axis equal;

» print -djpeg100 ellipse.jpg

function [x,y,z]=parabola(a,b,c,imax,jmax)% z=a*x^2+b*y^2+cfor i=1:imax+1 xi=-2+4*(i-1)/imax; for j=1:jmax eta=-2+4*(j-1)/jmax; x(i,j)=xi; y(i,j)=eta; z(i,j)=a*x(i,j)^2+b*y(i,j)^2+c; endend

» a=0.5; b=-1; c=1; imax=50; jmax=50;

» [x2,y2,z2]=parabola(a,b,c,imax,jmax);

» surf(x2,y2,z2); axis equal;

» a=3; b=2; c=1; imax=50; jmax=50;

» [x1,y1,z1]=ellipse(a,b,c,imax,jmax);

» surf(x1,y1,z1); hold on; surf(x2,y2,z2); axis equal;

» print -djpeg100 parabola.jpg

Parabolic or Hyperbolic Surfaces

Intersection of two nonlinear surfacesIntersection of two nonlinear surfaces

Infinite many

solutions

Intersection of three nonlinear surfacesIntersection of three nonlinear surfaces» [x1,y1,z1]=ellipse(2,2,2,50,50);» [x2,y2,z2]=ellipse(3,2,1,50,50);» [x3,y3,z3]=parabola(-0.5,0.5,-0.5,30,30);» surf(x1,y1,z1); hold on; surf(x2,y2,z2); surf(x3,y3,z3);» axis equal; view (-30,60);» print -djpeg100 surf3.jpg

Newton-Raphson MethodNewton-Raphson Method

)(

)(

)(

)(

),....,,,(

),....,,,(

),....,,,(

),....,,,(

xf

xf

xf

xf

)x(F

0xxxxf

0xxxxf

0xxxxf

0xxxxf

n

3

2

1

n321n

n3213

n3212

n3211

n32 1 x x xxx , 0xF

)(

n nonlinear equations in n unknowns

Jacobian (matrix of partial derivatives)

Newton’s iteration (without inversion)

Newton-Raphson MethodNewton-Raphson Method

1 1 1 1

1 2 3

2 2 2 2

1 2 3

3 3 3 3

1 2 3

1 2 3

( )

n

n

n

n n n n

n

f f f f

x x x x

f f f f

x x x x

J x f f f f

x x x x

f f f f

x x x x

oldnewoldold xxxy xFyxJ

);()(

For a single equation with one variable

Newton’s iteration

Newton-Raphson MethodNewton-Raphson Method

)()( xfdx

dfxJ

)(

)()(

old

oldoldold

1oldnew xf

xfxf xJxx

)(

)(

i

ii1i xf

xfxx

function x = Newton_sys(F, JF, x0, tol, maxit)

% Solve the nonlinear system F(x) = 0 using Newton's method% Vectors x and x0 are row vectors (for display purposes)% function F returns a column vector, [f1(x), ..fn(x)]'% stop if norm of change in solution vector is less than tol% solve JF(x) y = - F(x) using Matlab's "backslash operator"% y = -feval(JF, xold) \ feval(F, xold);% the next approximate solution is x_new = xold + y';

xold = x0;disp([0 xold ]);iter = 1;while (iter <= maxit) y= - feval(JF, xold) \ feval(F, xold); xnew = xold + y'; dif = norm(xnew - xold); disp([iter xnew dif]); if dif <= tol x = xnew; disp('Newton method has converged') return; else xold = xnew; end iter = iter + 1;enddisp('Newton method did not converge')x=xnew;

function df = ex11_1_j(x)

df = [2*x(1) 2*x(2) 2*x(1) -1 ] ;

function f = ex11_1(x)

f = [(x(1)^2 + x(2)^2 -1) (x(1)^2 - x(2)) ];

» x0=[0.5 0.5]; tol=1.e-6; maxit=100;» x=Newton_sys('ex11_1','ex11_1_j',x0,tol,maxit);

0 0.5000 0.5000 1.0000 0.8750 0.6250 0.3953 2.0000 0.7907 0.6181 0.0846 3.0000 0.7862 0.6180 0.0045 4.0000 0.7862 0.6180 0.0000 5.0000 0.7862 0.6180 0.0000Newton method has converged

Use x0 = [0.5 0.5] as initial estimates

Intersection of Circle and ParabolaIntersection of Circle and Parabola

Intersection of Three SurfacesIntersection of Three Surfaces

Solve the nonlinear system

Jacobian

0xx3xxxxf

09x2xxxxf

014xxxxxxf

or

0zy3xzyxh

09y2xzyxg

014zyxzyxf

23

2213213

22

213212

23

22

213211

22

22

222

),(

),(

),(

),,(

),,(

),,(

,

,

,

x2x61

0x4x2

x2x2x2

x

f

x

f

x

fx

f

x

f

x

fx

f

x

f

x

f

J

32

21

321

3

3

2

3

1

3

3

2

2

2

1

2

3

1

2

1

1

1

][

Newton-Raphson MethodNewton-Raphson MethodSolve the nonlinear system

MATLAB function ( y = J-1F )

3

2

1

old

old

old

new

new

new

3

2

1

3

2

1

32

21

321

x

x

x

z

y

x

z

y

x

f

f

f

x

x

x

x2x61

0x4x2

x2x2x2

y = feval(JF,xold) \ feval(F, xold)

» x0=[1 1 1]; es=1.e-6; maxit=100;

» x=Newton_sys(‘ex11_2',‘ex11_2_j',x0,es,maxit);

0 1 1 1

1.0000 1.6667 2.1667 4.6667 3.9051

2.0000 1.5641 1.8407 3.2207 1.4858

3.0000 1.5616 1.8115 2.8959 0.3261

4.0000 1.5616 1.8113 2.8777 0.0182

5.0000 1.5616 1.8113 2.8776 0.0001

6.0000 1.5616 1.8113 2.8776 0.0000

Newton method has converged

function f = ex11_2(x)% Intersection of three surfaces

f = [ (x(1)^2 + x(2)^2 + x(3)^2 - 14) (x(1)^2 + 2*x(2)^2 - 9) (x(1) - 3*x(2)^2 + x(3)^2) ];

function df = ex11_2_j(x)% Jacobian matrixdf = [ 2*x(1) 2*x(2) 2*x(3) 2*x(1) 4*x(2) 0 1 -6*x(2) 2*x(3) ] ;

Intersection of Three SurfacesIntersection of Three Surfaces

No need to compute partial derivatives

Fixed-Point IterationFixed-Point Iteration

)x,....,x,x,x(gx

)x,....,x,x,x(gx

)x,....,x,x,x(gx

)x,....,x,x,x(gx

0)x,....,x,x,x(f

0)x,....,x,x,x(f

0)x,....,x,x,x(f

0)x,....,x,x,x(f

n321nn

n32133

n32122

n32111

n321n

n3213

n3212

n3211

1K ;n

K

x

g

j

i Convergence

Theorem

Example1: Fixed-PointExample1: Fixed-Point

Solve the nonlinear system

Rearrange (initial guess: x = y = z = 2)

075x40xx)x,x,x(f

050xx20x)x,x,x(f

0200xxx50x)x,x,x(f

322

213213

232

213212

23

221

213211

/40)75xx()x,x,x(gx

/20)xx50()x,x,x(gx

/50)xxx200()x,x,x(gx

22

2132133

23

2132122

23

22

2132111

function x = fixed_pt_sys(G, x0, es, maxit)% Solve the nonlinear system x = G(x) using fixed-point method% Vectors x and x0 are row vectors (for display purposes)% function G returns a column vector, [g1(x), ..gn(x)]'% stop if norm of change in solution vector is less than es% y = feval(G,xold); the next approximate solution is xnew = y';

disp([0 x0 ]); %display initial estimatexold = x0;iter = 1;while (iter <= maxit) y = feval(G, xold); xnew = y'; dif = norm(xnew - xold); disp([iter xnew dif]); if dif <= es x = xnew; disp('Fixed-point iteration has converged') return; else xold = xnew; end iter = iter + 1;enddisp('Fixed-point iteration did not converge')x=xnew;

» x0=[0 0 0]; es=1.e-6; maxit=100;» x=fixed_pt_sys('example1', x0, es, maxit);

0 0 0 0 1.0000 4.0000 2.5000 -1.8750 5.0760 2.0000 3.4847 1.5242 -1.3188 1.2358 3.0000 3.6759 1.8059 -1.5133 0.3921 4.0000 3.6187 1.7099 -1.4557 0.1257 5.0000 3.6372 1.7393 -1.4745 0.0395 6.0000 3.6314 1.7298 -1.4686 0.0126 7.0000 3.6333 1.7328 -1.4705 0.0040 8.0000 3.6327 1.7318 -1.4699 0.0013 9.0000 3.6329 1.7321 -1.4701 0.0004 10.0000 3.6328 1.7321 -1.4700 0.0001 11.0000 3.6328 1.7321 -1.4701 0.0000 12.0000 3.6328 1.7321 -1.4701 0.0000 13.0000 3.6328 1.7321 -1.4701 0.0000 14.0000 3.6328 1.7321 -1.4701 0.0000 15.0000 3.6328 1.7321 -1.4701 0.0000

Fixed-point iteration has converged

function G = example1(x)

G = [ (-0.02*x(1)^2 - 0.02*x(2)^2 - 0.02*x(3)^2 + 4)

(-0.05*x(1)^2 - 0.05*x(3)^2 + 2.5)

(0.025*x(1)^2 + 0.025*x(2)^2 -1.875) ];

Example 2: Fixed-PointExample 2: Fixed-Point

Solve the nonlinear system

Rearrange (initial guess: x = 0, y = 0, z > 0)

011xxxxxf

047x9xxxxf

036x9x4xxxxf

3213213

22

23212

23

22

213211

1

),,(

),,(

),,(

3x4x36xxxgx

3x47xxxgx

x11xxxgx

22

2132133

2132122

332111

/),,(

/),,(

/),,(

function G = example2(x)G = [ (sqrt(11/x(3))) (sqrt(47 - x(1)^2) / 3 ) (sqrt(36 - x(1)^2 - 4*x(2)^2) / 3 ) ];

» x0=[0 0 10]; es=0.0001; maxit=500;» x=fixed_pt_sys(‘example2',x0,es,maxit);

0 0 0 10 1.0000 1.0488 2.2852 2.0000 8.3858 2.0000 2.3452 2.2583 1.2477 1.4991 3.0000 2.9692 2.1473 1.0593 0.6612 4.0000 3.2224 2.0598 0.9854 0.2779 5.0000 3.3411 2.0170 0.9801 0.1263 6.0000 3.3501 1.9955 0.9754 0.0238 7.0000 3.3581 1.9938 0.9916 0.0181 8.0000 3.3307 1.9923 0.9901 0.0275 9.0000 3.3332 1.9974 1.0017 0.0129 10.0000 3.3139 1.9969 0.9962 0.0201 11.0000 3.3230 2.0005 1.0037 0.0124 12.0000 3.3105 1.9988 0.9972 0.0142 13.0000 3.3213 2.0011 1.0033 0.0126 14.0000 3.3112 1.9991 0.9973 0.0120 15.0000 3.3212 2.0010 1.0028 0.0116 16.0000 3.3120 1.9992 0.9974 0.0107 17.0000 3.3209 2.0008 1.0024 0.0103 18.0000 3.3126 1.9992 0.9977 0.0097 19.0000 3.3205 2.0007 1.0022 0.0092 20.0000 3.3130 1.9993 0.9979 0.0087 ... 50.0000 3.3159 1.9999 0.9996 0.0017 ... 102.0000 3.3166 2.0000 1.0000 0.0001 103.0000 3.3167 2.0000 1.0000 0.0001

Fixed-point iteration has converged

top related