graphics graphics lab @ korea university kucg.korea.ac.kr 2. solving equations of one variable korea...

32
Graphics kucg.korea.ac.kr Graphics Lab @ Korea University 2. Solving Equations 2. Solving Equations of One Variable of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin Seung Ho Roh Byeong Seok / Jeong So Hyeon

Upload: reginald-mosley

Post on 16-Jan-2016

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

Graphics

kucg.korea.ac.kr Graphics Lab @ Korea University

2. Solving Equations 2. Solving Equations of One Variableof One VariableKorea University Computer Graphics Lab.

Lee Seung Ho / Shin Seung Ho Roh Byeong Seok / Jeong So Hyeon

Page 2: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Contents

Bisection Method Regula Falsi and Secant Method Newton’s Method Muller’s Method Fixed-Point Iteration Matlab’s Method

Page 3: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

Graphics

kucg.korea.ac.kr Graphics Lab @ Korea University

Bisection Method

Page 4: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Bisection Method

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2-2

-1.5

-1

-0.5

0

0.5

1

32 xy

2

bam

Page 5: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Finding the Square Root of 3 Using Bisection

3

3:0 xy32 xy

How can we get ? 3

k

aberror

2most at is 11

Page 6: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Approximating the Floating Depth for a Cork Ball by Bisection(1/2)

13 23 xxy

Cork ball

Radius : 1

Density : 0.25

[0,1] by ballcork ofdepth floatingget can we

,0 if

x

y

Page 7: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Approximating the Floating Depth for a Cork Ball by Bisection(2/2)

Page 8: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Discussion of Bisection Method

Page 9: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Fixed-Point Iteration

Solution of equation

Convergence Theorem of fixed-point iteration

)(xgx

1

,2/1)(1 if

kkk xxxx

xg

Page 10: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Fixed-Point Iteration to Find a Zero of a Cubic Function

2

3

3

3

5.1)(

)(3.05.0

3510

,03105)(

xxg

xgxx

xx

xxxf

Page 11: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Matlab’s Methods(1/2)

roots(p) p : vector

Example

EDU> r = roots(p); (p=[1 -7 14 -7])

r = 3.8019

2.445

0.75302

7147)( 23 xxxxp

Page 12: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Matlab’s Methods(2/2)

fzero( ‘function name’,x0 ) function name: string x0 : initial estimate of the root

Example

function y = flat10(x)

y = x.^10 – 0.5;

z = fzero(‘flat10’,0.5)

z = 0.93303

Page 13: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

Graphics

kucg.korea.ac.kr Graphics Lab @ Korea University

Regular Falsi and Secant Methods

2005. 3. 23

Byungseok Roh

Page 14: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Regula Falsi Method

The regula falsi method start with two point, (a, f(a)) and (b,f(b)), satisfying the condition that f(a)f(b)<0.

The straight line through the two points (a, f(a)), (b, f(b)) is

The next approximation to the zero is the value of x where the straight line through the initial points crosses the x-axis.

)()()(

)( axab

afbfafy

)()(

)()()(

)()( afbf

abfbafaf

afbf

abax

Page 15: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Regula Falsi Method (cont.)

If there is a zero in the interval [a, c], we leave the value of a unchanged and set b = c.

On the other hand, if there is no zero in [a, c], the zero must be in the interval [c, b]; so we set a = c and leave b unchanged.

The stopping condition may test the size of y, the amount by which the approximate solution x has changed on the last iteration, or whether the process has continued too long.

Typically, a combination of these conditions is used.

Page 16: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Example

Finding the Cube Root of 2 Using Regula Falsi

Since f(1)= -1, f(2)=6, we take as our starting bounds on the zero a=1 and b=2.

Our first approximation to the zero is

We then find the value of the function:

Since f(a) and y are both negative, but y and f(b) have opposite signs

1429.17/87/62

)6(16

122))((

)()(

bfafbf

abbx

5073.02)7/8()( 3 xfy

Page 17: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Example (cont.)

Calculation of using regula falsi.3 2

Page 18: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Secant Method

Instead of choosing the subinterval that must contain the zero, we form the next approximation from the two most recently generated points:

At the k-th stage, the new approximation to the zero is

The secant method, closely related to the regula falsi method, results from a slight modification of the latter.

101

0112 y

yy

xxxx

kkk

kkkk y

yy

xxxx

1

11

The secant method has converged with a tolerance of .410

Page 19: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Example

Finding the Square Root of 3 by Secant Method To find a numerical approximation to , we seek the zero of

. Since f(1)=-2 and f(2)=1, we take as our starting bounds on the

zero and . Our first approximation to the zero is

Calculation of using secant method.

33)( 2 xxfy

10 x 21 x

667.13

5)1(

)2(1

1221

01

0112

yyy

xxxx

3

Page 20: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

Graphics

kucg.korea.ac.kr Graphics Lab @ Korea University

NEWTON’S METHOD

Page 21: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Newton’s Method

Newton’s method uses straight-line approximation which is the tangent to curve.

.

Intersection point

)())((')( 000 xfxxxfxf

)('

)(

0

001 xf

xfxx

)('

)(1

k

kkk xf

xfxx

Page 22: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Example

Finding Square Root of ¾

approximate the zero of using the fact that .

Continuing for one more step

4

334)( 2 xxf

xxf 8)('

)('

)(

0

001 xf

xfxx 1

4

25.0

875.08/78

10.1

)('

)(

1

112

xf

xfxx

Page 23: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Finding Floating Depth for a Wooden Ball

Volume of submerged segment of the Sphere

To find depth at which the ball float, volume of submerged segment is time.

Simplifies to

6/)3( 22 xrxV

)3/4(6/)3( 22 xrx

043 23 xx

Page 24: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Finding Floating Depth for a Wooden Ball (cont.)

To find depth a ball, density is one-third of water float.

3/43)( 23 xxxf

Calculation f(x) using Newton’s Method

Page 25: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Oscillations in Newton Method

Newton’s method give Oscillatory result for some funtions & initial e

stimates. Ex) 33)( 23 xxxxf

Page 26: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

Graphics

kucg.korea.ac.kr Graphics Lab @ Korea University

Muller’s Method

Page 27: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Muller’s Method

based on a quadratic approximation procedure

1. Decide the parabola passing through (x1,y1), (x2, y2) and (x3,y3)

2. Solve the zero(x4) that is closest to x3

3. Repeat 1,2 until x converge to predefined tolerance

advantage Requires only function values; Derivative need not be calculated X can be an imaginary number.

Page 28: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Muller’s Method (Cont’)

))(()( 231323 xxxxdxxcyy

12

121 xx

yyc

23

232 xx

yyc

13

121 xx

ccd

132

334

4)(

2

dysssigns

yxx

Page 29: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Example

Finding the sixth root of 2 using Muller’s method , , ,

375.1112

121

xx

yyc 781.20

23

232

xx

yyc 812.18

13

12

xx

ccD

375.11)5.0(812.18781.20)( 2312 xxdcs

0779.1812.18)1(4375.11375.11

)1(21

4)(

2

2

132

334

dysssigns

yxx

2)( 6 xxfy 5.01 x 5.12 x 0.13 x

1,3906.9,9844.1 321 yyy

Page 30: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Example (Cont’)

i x y

1 0.5 -1.9844

2 1.5 9.3906

3 1 -1

4 1.0779 -0.43172

5 1.117 -0.05635

6 1.1255 0.00076162

7 1.1255 -4.7432e-07converge

Calculation of using Muller’s method6 2

Page 31: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

Another Challenging Problem

step x Y

1 0 -0.5

2 1 0.5

3 0.5 -0.49902

4 0.80875 -0.38029

5 0.9081 -0.11862

6 0.94325 0.057542

7 0.93269 -0.0018478

8 0.93303 -6.3021e-06

9 0.93303 -3.1235e-10

Tolerance = 0.0001 5.010 xy

Page 32: Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 2. Solving Equations of One Variable Korea University Computer Graphics Lab. Lee Seung Ho / Shin

kucg.korea.ac.kr

KUCG

Graphics Lab @ Korea University

MATLAB function for Muller’s Method

P.65~66 code