21.06.2014 Views

Numerical Methods Contents - SAM

Numerical Methods Contents - SAM

Numerical Methods Contents - SAM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Equidistant trapezoidal rule (order 2), see (10.3.2)<br />

∫ b<br />

a<br />

( m−1 ∑ )<br />

f(t) dt ≈ T m (f) := h 12 f(a) + f(kh) + 2 1f(b) , h := b − a<br />

m . (10.3.5)<br />

k=1<br />

Code 10.3.9: equidistant trapezoidal quadrature formula<br />

1 function res = t r a p e z o i d a l ( f n c t , a , b ,N)<br />

2 % <strong>Numerical</strong> quadrature based on trapezoidal rule<br />

3 % fnct handle to y = f(x)<br />

4 % a,b bounds of integration interval<br />

5 % N+1 = number of equidistant integration points (can be a vector)<br />

6 res = [ ] ;<br />

7 for n = N<br />

8 h = ( b−a ) / n ; x = ( a : h : b ) ; w = [ 0 . 5 ones ( 1 , n−1) 0 . 5 ] ;<br />

9 res = [ res ; h , h∗dot (w, feval ( f n c t , x ) ) ] ;<br />

10 end<br />

1-periodic smooth (analytic) integrand<br />

f(t) =<br />

1<br />

√<br />

1 − a sin(2πt − 1)<br />

, 0 < a < 1 .<br />

Ôº ½¼º¿<br />

2<br />

3 clear a ;<br />

4 global a ;<br />

5 l = 0 ; r = 0 . 5 ; % integration interval<br />

6 N = 50;<br />

7 a = 0 . 5 ; res05 = t r a p e z o i d a l ( @issin , l , r , 1 :N) ;<br />

8 ex05 = t r a p e z o i d a l ( @issin , l , r ,500) ; ex05 = ex05 ( 1 , 2 ) ;<br />

9 a = 0 . 9 ; res09 = t r a p e z o i d a l ( @issin , l , r , 1 :N) ;<br />

10 ex09 = t r a p e z o i d a l ( @issin , l , r ,500) ; ex09 = ex09 ( 1 , 2 ) ;<br />

11 a = 0 . 9 5 ; res95 = t r a p e z o i d a l ( @issin , l , r , 1 :N) ;<br />

12 ex95 = t r a p e z o i d a l ( @issin , l , r ,500) ; ex95 = ex95 ( 1 , 2 ) ;<br />

13 a = 0 . 9 9 ; res99 = t r a p e z o i d a l ( @issin , l , r , 1 :N) ;<br />

14 ex99 = t r a p e z o i d a l ( @issin , l , r ,500) ; ex99 = ex99 ( 1 , 2 ) ;<br />

15 figure ( ’name ’ , ’ t r a p e z o i d a l r u l e f o r non−p e r i o d i c f u n c t i o n ’ ) ;<br />

16 loglog ( 1 . / res05 ( : , 1 ) ,abs ( res05 ( : , 2 )−ex05 ) , ’ r+− ’ , . . .<br />

17 1 . / res09 ( : , 1 ) , abs ( res09 ( : , 2 )−ex09 ) , ’ b+− ’ , . . .<br />

18 1 . / res95 ( : , 1 ) , abs ( res95 ( : , 2 )−ex95 ) , ’ c+− ’ , . . .<br />

19 1 . / res99 ( : , 1 ) , abs ( res99 ( : , 2 )−ex99 ) , ’m+− ’ ) ;<br />

20 set ( gca , ’ f o n t s i z e ’ ,12) ;<br />

21 legend ( ’ a=0.5 ’ , ’ a=0.9 ’ , ’ a=0.95 ’ , ’ a=0.99 ’ ,3) ;<br />

22 xlabel ( ’ { \ b f no . o f . quadrature nodes } ’ , ’ f o n t s i z e ’ ,14) ;<br />

23 ylabel ( ’ { \ b f | quadrature e r r o r | } ’ , ’ f o n t s i z e ’ ,14) ;<br />

Ôº ½¼º¿<br />

24 t i t l e ( ’ { \ b f Trapezoidal r u l e quadrature f o r non−p e r i o d i c<br />

(“exact value of integral”: use T 500 )<br />

|quadrature error|<br />

Trapezoidal rule quadrature for 1./sqrt(1−a*sin(2*pi*x+1))<br />

10 0<br />

10 −2<br />

10 −4<br />

10 −6<br />

10 −8<br />

10 −10<br />

10 −12 a=0.5<br />

a=0.9<br />

a=0.95<br />

a=0.99<br />

10 −14<br />

0 2 4 6 8 10 12 14 16 18 20<br />

no. of. quadrature nodes Fig. 112<br />

quadrature error for T n (f) on [0, 1]<br />

exponential convergence !!<br />

|quadrature error|<br />

Trapezoidal rule quadrature for non−periodic function<br />

10 −1<br />

10 −2<br />

10 −3<br />

10 −4<br />

a=0.5<br />

a=0.9<br />

a=0.95<br />

a=0.99<br />

10 −5<br />

10 0 10 1 10 2<br />

no. of. quadrature nodes<br />

Fig. 113<br />

10 0<br />

quadrature error for T n (f) on [0, 1 2 ]<br />

Ôº ½¼º¿<br />

Ôº ½¼º¿<br />

1 function t r a p e r r ( ) 46 legend ( ’ a=0.5 ’ , ’ a=0.9 ’ , ’ a=0.95 ’ , ’ a=0.99 ’ ,3) ;<br />

merely algebraic convergence<br />

Code 10.3.10: tracking error of equidistant trapezoidal quadrature formula<br />

25<br />

f u n c t i o n } ’ , ’ f o n t s i z e ’ ,12) ;<br />

26 p r i n t −depsc2 ’ . . / PICTURES/ t r a p e r r 2 . eps ’ ;<br />

27<br />

28 clear a ;<br />

29 global a ;<br />

30 l = 0 ; r = 1 ; % integration interval<br />

31 N = 20;<br />

32 a = 0 . 5 ; res05 = t r a p e z o i d a l ( @issin , l , r , 1 :N) ;<br />

33 ex05 = t r a p e z o i d a l ( @issin , l , r ,500) ; ex05 = ex05 ( 1 , 2 ) ;<br />

34 a = 0 . 9 ; res09 = t r a p e z o i d a l ( @issin , l , r , 1 :N) ;<br />

35 ex09 = t r a p e z o i d a l ( @issin , l , r ,500) ; ex09 = ex09 ( 1 , 2 ) ;<br />

36 a = 0 . 9 5 ; res95 = t r a p e z o i d a l ( @issin , l , r , 1 :N) ;<br />

37 ex95 = t r a p e z o i d a l ( @issin , l , r ,500) ; ex95 = ex95 ( 1 , 2 ) ;<br />

38 a = 0 . 9 9 ; res99 = t r a p e z o i d a l ( @issin , l , r , 1 :N) ;<br />

39 ex99 = t r a p e z o i d a l ( @issin , l , r ,500) ; ex99 = ex99 ( 1 , 2 ) ;<br />

40 figure ( ’name ’ , ’ t r a p e z o i d a l r u l e f o r p e r i o d i c f u n c t i o n ’ ) ;<br />

41 semilogy ( 1 . / res05 ( : , 1 ) , abs ( res05 ( : , 2 )−ex05 ) , ’ r+− ’ , . . .<br />

42 1 . / res09 ( : , 1 ) , abs ( res09 ( : , 2 )−ex09 ) , ’ b+− ’ , . . .<br />

43 1 . / res95 ( : , 1 ) , abs ( res95 ( : , 2 )−ex95 ) , ’ c+− ’ , . . .<br />

44 1 . / res99 ( : , 1 ) , abs ( res99 ( : , 2 )−ex99 ) , ’m+− ’ ) ;<br />

45 set ( gca , ’ f o n t s i z e ’ ,12) ;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!