93
Introduction to Numerical Analysis Marek Kręglewski

Introduction to Numerical Analysis

  • Upload
    chaela

  • View
    84

  • Download
    4

Embed Size (px)

DESCRIPTION

Introduction to Numerical Analysis. Marek Kręglewski. Course content. Course content 2. LABORATORY CLASSES MS Excel – general introduction Application of the MS Excel in solving numerical problems MANUALS : E. Steiner, Mathematics for chemists , Oxford. - PowerPoint PPT Presentation

Citation preview

Page 1: Introduction  to  Numerical Analysis

Introduction to Numerical Analysis

Marek Kręglewski

Page 2: Introduction  to  Numerical Analysis

Course contentWeek 1 Solutions of nonlinear equations in one variable: the bisection algorithm.

Week 2 The Newton-Raphson method, the secant method. Fixed point iteration.

Week 3 Numerical integration: trapezoidal rule and Simpson’s rule.

Week 4 Numerical differentiation: forward and backward-difference formula. Three-point formula of numerical differentiation.

Week 5 Initial value-problem for differential equations: Euler’s method, the Runge-Kutta methods.

Week 6 Taylor expansion – error of a numerical method. The Richardson’s extrapolation.

Week 7 Initial value-problem for differential equations: Euler’s method, the Runge-Kutta methods.

Week 8 Polynomial interpolation: Newton and Lagrange polynomials.

Week 9 Methods for solving linear systems: linear systems of equations, Cramer’s rule, Gaussian elimination.

Week 10 Approximation theory: least-squares approximation.

Week 11 Linear algebra, matrix inversion and the determinant of a matrix.Week 12 The similarity transformations. Eigenvalues and eigenvectors.

Week 13 Iterative techniques in matrix algebra: Jacobi iterative method.

Week 14 Optimization.

Week 15 Round-off errors: absolute error, relative error, significant digits.

Page 3: Introduction  to  Numerical Analysis

Course content 2LABORATORY CLASSES1. MS Excel – general introduction2. Application of the MS Excel in solving numerical problems

MANUALS:3. E. Steiner, Mathematics for chemists, Oxford.4. A. Ralston, Introduction to numerical analysis.

Page 4: Introduction  to  Numerical Analysis

Solution of equation in one variable x=f(x)

READ x , ε, A

START

STOP

y=x

x=y

y=½(x+A/x)

|x-y|< ε

WRITE y

YESNO

Trace of operations

Page 5: Introduction  to  Numerical Analysis

Algorithm notationSTART and STOP of a sequential algorithm

INPUT and OUTPUT operations

SUBSTITUTION operations

CONDITIONAL operation

LOOP

?

=

SUBSTITUTION variable = expression

Calculate the value of the expression and save it under the name of the variable

Page 6: Introduction  to  Numerical Analysis

Convergent process: x=½(x+4/x)x y

4 2.52.5 2.05

2.05 2.0006097562.000609756 2.0000000932.000000093 2

Iteration process

0 1 2 3 4 5 60

2

4

6

8

10

12

LR

Page 7: Introduction  to  Numerical Analysis

Divergent process: x=6-x*xx y

2.1 1.591.59 3.4719

3.4719 -6.05408961-6.05408961 -30.65200101

-30.65200101 -933.5451657-933.5451657 -871500.5763-871500.5763 -7.59513E+11-7.59513E+11 -5.7686E+23-5.7686E+23 -3.32768E+47

-3.32768E+47 -1.10734E+95

0 1 2 3 4

-10

-8

-6

-4

-2

0

2

4

6

8

LR

Page 8: Introduction  to  Numerical Analysis

Solution of equation in one variable

Bisection methodSolution of an equation f(x)=0, i.e. search for zero points of the function f(x).Search for the a zero point in the range <a,b>, in which:

1) the function f(x) is continuous2) f(x) changes the sign in the range <a,b>, i.e. f(a)*f(b)<0

x

y

ba p1p4p3p2

b

ab

a

zero point

Page 9: Introduction  to  Numerical Analysis

Bisection Algorithm

READ a, b, ε

START

STOP

f(a)*f(b)<0

p=(a+b)/2

f(a)*f(p)<0

WRITE a,bYESNO

WRITE: incorrect range

|a-b|<ε

NO

b=p a=pYES

Trace of operations

NO

YES

Page 10: Introduction  to  Numerical Analysis

Differential CalculusDerivative of a function – a measure how rapidly the dependent variable changes with changes of the independent variable

x1 x2

y1

y2

y = y2-y1

x = x2-x1

Tangent line tan(α) (slope)

y=y(x)

α

dxdy

xy

xxxyxy

xxxx

1212

limlimtan12

12 derivative

Page 11: Introduction  to  Numerical Analysis

Differential CalculusFind the derivative of the functiony = a x2

Let x = x2-x1 and y = y(x2)-y(x1)

y = a(x2)2-a(x1)2 = a(x1+x)2-a(x1)2 = a[(x1)2+2x1x+(x)2]-a(x1)2 = = a[2x1x+(x)2]

After dividing by x

In the limit as x2 → x1 (i.e. x → 0)

xaxaxy

12

xaxy

dxaxd

x2lim

0

2

The derivative of the function y=ax2 is dy/dx=2ax

Page 12: Introduction  to  Numerical Analysis

Differential Calculus

Function y=y(x) Derivative dy/dx=y’(x)xn n xn-1

ax ax ln(a)ln(x) 1/xsin(x) cos(x)cos(x) -sin(x)a 0

Derivatives of some elementary functions (a is a constant):

Let y(x) and z(x) are differentiable functions of x:

dxdz

dxdy

dxzyd

dxdz

dxdy

dxzyd

dxdyz

dxdzy

dxyzd

2/

zdxdzy

dxdyz

dxzyd

Composite function f(u(x)) dxdu

dudf

dxdf *

Page 13: Introduction  to  Numerical Analysis

Solution of equation in one variable

Newton-Raphson methodThe search of a zero point begins at any point x0, if:

1) the function f(x) and its first derivative are continuous2) the first derivative is different from zero

x

y

zero point

x0x2x3x1

The expansion inTaylor series: 0

001

010!11

01

'

...'

xfxfxx

xxxfxfxf

Page 14: Introduction  to  Numerical Analysis

Newton-Raphson algorithm

READ x0 , ε

START

STOP

x1=x0 - f(x0) / f ’(x0)

|x0-x1|< ε

WRITE x1

YESNO

Trace of operations

x0=x1

Page 15: Introduction  to  Numerical Analysis

Solution of equation in one variable

Secant MethodThe search for the zero point begins from a pair of points(x0, x1), if:

1) the function f(x) is continuous2) f(x0) f(x1), when x0x1

x

y

zero point

x0x1x3x2

The first derivative from the Newton-Raphson method approximated with an expression:

01

01012

01

011'

xfxfxxxfxx

xxxfxfxf

Page 16: Introduction  to  Numerical Analysis

Secant method algorithm

READ x0 , x1 , ε

START

STOP

x2=x1 – q1(x1-x0) /(q1-q0)

|x2-x1|< ε

WRITE x2

YESNO

Trace of operations

x0=x1; x1=x2

q0=q1 ; q1=f(x2)

q0=f(x0)

q1=f(x1)

Page 17: Introduction  to  Numerical Analysis

Integral Calculus – principal facts

• The antiderivative F(x) of f(x) is the function such that dF(x)/dx=f(x)

• The indefinite integral is the same thing as the antiderivative function

• A definite integral is the limit of a sum of terms f(x)x

aFbFdxxfb

a

Page 18: Introduction  to  Numerical Analysis

Integral Calculus - examplesA car moves with constant velocity v(t)=50 km/h. Calculate the distance it covers in 2 hours.

kmtdtdttvs

kmhhkmttvs

1000*502*505050

1002*/50)(

2

0

2

0

2

0

A stone is falling with the acceleration g(t) = 10 m/s2. At the begining its velocity is 0 m/s. Calculate the distance the stone covers between 2nd and 4th second of the fall.

mttdtdttvs

constv

consttdtdttgtv

6020802*54*5510

000

1010)(

224

2

24

2

4

2

Page 19: Introduction  to  Numerical Analysis

Numerical integration

T1

a b

T2

b

a

dxxf

mabh

hmafhmafhThafhafhThafafhT m **12

...222 21

hiaffffhTffhTffhT immm *,2

...22 1212101

mm ffffhTTTT ...222

... 21021

Trapezoidal rule

Tm

h

Page 20: Introduction  to  Numerical Analysis

Numerical integration

S1

a b

b

a

dxxf

mabh

hiafffffhSfffhSfffhS immmm *,43

...43

43 122/43222101

mmmm ffffffhSSSS 122102/21 42...243

...

Simpson’s rule

Sm/2 m must be even

Page 21: Introduction  to  Numerical Analysis

Analytical integration – an example12

10

)( dxxfI

f(x)=x3

f(x)=x4

26844

104

124

4412

10

12

10

43

xdxx

4,297665

105

125

5512

10

12

10

54

xdxx

Page 22: Introduction  to  Numerical Analysis

Numerical integration – an example

f(x)

x x3 x4

10 1000 10000

11 1331 14641

12 1728 20736

12

10

)( dxxfI Calculation results

x3 x4

T(h=2) 2728 30736

T(h=1) 2695 30009

S(h=1) 2684 29766,67

I (accurate) 2684 29766,4

268417281331*4100031)1(

269517281331*2100021)1(

27281728100022)2(

hS

hT

hT

f(x)=x3 f(x)=x4

32297662073614641*410000

31)1(

300092073614641*21000021)1(

30736207361000022)2(

hS

hT

hT

Errors of the trapezoidal rule

error ~ h2

h T(h) T(h)-I

2 2728 44

1 2695 11

h T(h) T(h)-I

2 30736 969,6

1 30009 242,6

Page 23: Introduction  to  Numerical Analysis

Geometrical series

111

11

1

...

/*...

321

12101

0

xxxaS

xaxS

xaaxaxSS

axaxaxaxxS

xaxaxaxaxaxS

n

n

nn

nnnn

nn

nn

r

rn

When a=1 12 ...111

n

n

xxxxx

i) The sum is equal to

ii) is a series expansion of the function

xxn

11 12 ...1 nxxx

12 ...1 nxxx

xxn

11

Page 24: Introduction  to  Numerical Analysis

Taylor series expansion at x=0...)( 4

43

32

210 xcxcxcxccxf

...,,, 3210 cccc constants

...1262)("

...432)('

24

1322

2

34

23

121

xcxccdx

fdxf

xcxcxccdxdfxf

Thus

...)0('''!3

1)0("!2

1)0('!1

10

0!

1!0

!3)0('''!2)0(")0('0

32

3210

xfxfxffxf

fn

ccnf

cfcfcfcf

nnn

n

Page 25: Introduction  to  Numerical Analysis

Taylor series expansion ...)( 4

43

32

210 axcaxcaxcaxccxf

...,,, 3210 cccc constants

...1262)("

...432)('

24

1322

2

34

23

121

axcaxccdx

fdxf

axcaxcaxccdxdfxf

Thus

...)('''!3

1)("!2

1)('!1

1!

1!

!3)('''!2)(")('

32

3210

axafaxafaxafafxf

afn

ccnaf

cafcafcafcaf

nnn

n

Page 26: Introduction  to  Numerical Analysis

Series expansion of a function

2,010000

0

kyeyxf kx

Call the Taylor series

Calculate the value f(6) using the Taylor series expansion

xfkxf

eykxf

eykxf

ekyxf

nn

kxnnn

kx

kx

1

0

02

0'

*

1

"

Page 27: Introduction  to  Numerical Analysis

Różniczkowanie numeryczne

hhxfxf

hxfhxfxf

hh

)()(lim)()(lim00

Przybliżenia jednostronne:

h

hxfxfxf

hxfhxfxf

L

P

)()(~

)()(~

x-h x x+h

f(x+h)

f(x)

f(x-h)

Średnia P i L (różnica centralna):

h

hxfhxfxfxfxf LP

2)()(

2

~~~

Page 28: Introduction  to  Numerical Analysis

Różniczkowanie – błąd metody

...!3

1!2

1!1

1

...!3

1!2

1!1

1

32

32

hxfhxfhxfxfhxf

hxfhxfhxfxfhxf

hxfh

xfhxfxf

hhxfxfhxfhxf

hxfhxfxfhxf

!21

:/!2

1!2

1!1

1

2

2

pochodna błąd ~ h1

2

3

3

!31

2

2:/!3

22

!322

hxfh

hxfhxfxf

hhxfhxfhxfhxf

hxfhxfhxfhxf

pochodna błąd ~ h2

Pochodna jednostronna Pochodna centralna

_

Page 29: Introduction  to  Numerical Analysis

Przykład – obliczenie pochodnej

f(x)=ln(x)

ln'(3)=1/3 ln(3)=

1.098612

f'(x)=[f(x+h)-f(x-h)]/(2*h)

h xh f(xh) f'(3) błąd h^2błąd/h^2

1 41.38629

40.34657

4 0.01324 1 0.01324

20.69314

7

0.5 3.51.25276

30.33647

20.00313

9 0.250.01255

6

2.50.91629

1

0.1 3.11.13140

20.33345

70.00012

4 0.010.01235

4

2.91.06471

1

f'(x)=[f(x+h)-f(x)]/h

h x+h f(x+h) f’(3) błąd h błąd/h

1 41.38629

40.28768

2 -0.04565 1 -0.04565

0.5 3.51.25276

30.30830

1 -0.02503 0.5 -0.05006

0.1 3.11.13140

20.32789

8 -0.00544 0.1 -0.05435

Oblicz pochodną ln(x) w punkcie x=3 metodą pochodnej centralnej oraz jednostronnej dla różnych długości kroków:

Zmniejszenie kroku zmniejsza błąd, przy czym szybciej błąd maleje w metodzie różnic centralnych

Page 30: Introduction  to  Numerical Analysis

Równanie różniczkowe I rzędu

kt

btbt

bt

bt

aetN

kbkaeabe

abedttdN

aetN

tkNdttdN

Równanie różniczkowe opisujące rozpad promieniotwórczy

Propozycja rozwiązania:

Sprawdzanie poprawności:

Podstawienie do równania:

Lewa strona równa prawej, gdy:

Wartość a wyznaczana z warunku początkowego:

kt

k

eNtN

NaNae

NN

0

0

00

00

Ostateczne rozwiązanie analityczne:

k – stała szybkości rozpadu promieniotwórczego

Page 31: Introduction  to  Numerical Analysis

Rozpad promieniotwórczy tkN

dttdN

Równanie różniczkowe opisujące rozpad promieniotwórczy

kteNtN 0Rozwiązanie analityczne:

Okres połowicznego rozpadu :

k

kk

e

NeN

NN

k

k

2ln2ln

ln 21

21

021

0

021

Page 32: Introduction  to  Numerical Analysis

Równanie różniczkowe – metoda Eulera

iii

iii

iii

hfyydxxdyhyy

yihxffihxyydxxdyhxyhxy

hxyhxy

dxxdy

xyxfdxxdy

1

1

,

,Równanie (f jest znaną funkcją):

Wzór przybliżony na pochodną:

Uproszczony zapis:

Ostatni wzór pozwala na obliczanie wartości funkcji y punkt po punkcie.Wartość funkcji w punkcie zerowym y0 określają warunki początkowe.

Po przekształceniu:

Page 33: Introduction  to  Numerical Analysis

Równanie różniczkowe I rzędu1.01386.05 hkkN

dtdN

i t N dN/dt Nanalit0 0 1000 -5000 10001 0.1 500 -2500 606.53072 0.2 250 -1250 367.87943 0.3 125 -625 223.13024 0.4 62.5 -312.5 135.33535 0.5 31.25 -156.25 82.0856 0.6 15.625 -78.125 49.787077 0.7 7.8125 -39.0625 30.197388 0.8 3.90625 -19.5313 18.315649 0.9 1.953125 -9.76563 11.109

10 1 0.976563 -4.88281 6.73794711 1.1 0.488281 -2.44141 4.08677112 1.2 0.244141 -1.2207 2.47875213 1.3 0.12207 -0.61035 1.50343914 1.4 0.061035 -0.30518 0.91188215 1.5 0.030518 -0.15259 0.55308416 1.6 0.015259 -0.07629 0.33546317 1.7 0.007629 -0.03815 0.20346818 1.8 0.003815 -0.01907 0.1234119 1.9 0.001907 -0.00954 0.07485220 2 0.000954 -0.00477 0.0454 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

0

200

400

600

800

1000

1200

NNanalit

Page 34: Introduction  to  Numerical Analysis

Równanie różniczkowe II rzęduDrgania harmoniczneFp = ma a - przyspieszenieFw = -kx x - wychyleniePrzyjmijmy: m=1 k=1Równowaga sił Fp = Fw

a=-x

x0

F

ibb

ceecb

ecbtx

cbetx

cetx

txdt

txd

btbt

bt

bt

bt

1

"

'

2

2

2

2

2 Rozwiązania szczególne równania:

it

it

cetx

cetx

2

1

Rozwiązanie ogólne równania:

itit ecectx 21

Stałe c1 i c2 wyznaczane z warunków początkowych

Page 35: Introduction  to  Numerical Analysis

Równanie różniczkowe II rzędu itit ecectx 21

x10-1

Warunki początkowe:

00'

10

xx

21

221

1

1

21

210

20

1

210

20

1

12

00'

10

ccc

ccicicieciecx

ccececxii

ii

teetx itit cos21

21

Rozwiązanie ogólne z uwzględnieniem warunków początkowych:

Page 36: Introduction  to  Numerical Analysis

Rozwiązanie numeryczne I

dtdxtv

dtxd

dtdvtagdzietxta 2

2

:

Korzystamy z przybliżonych wzorów na pochodne:

t

tvttvta

ttxttxtv

ttatvttv

ttvtxttx

tktvv

tktxx

k

k

0

0

Oznaczamy:

tavvtvxx

kkk

kkk

1

1

Z postaci równania wynika: kk xa

Page 37: Introduction  to  Numerical Analysis

Rozwiązanie numeryczne I c.d.

2401 00

tsmvmxGdy t=0 :

0 2 4 6 8 10 12 14

-3

-2

-1

0

1

2

3

pochodna jednostronna

y(k)v(k)a(k)

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5

-3

-2

-1

0

1

2

3

v

a

k t(k) x(k) v(k) a(k)0 0 1 0 -11 0.1308997 1 -0.1309 -12 0.2617994 0.9828653 -0.261799 -0.9828653 0.3926991 0.9485958 -0.390456 -0.9485964 0.5235988 0.8974852 -0.514627 -0.8974855 0.6544985 0.8301207 -0.632108 -0.8301216 0.7853982 0.747378 -0.74077 -0.7473787 0.9162979 0.6504114 -0.838602 -0.6504118 1.0471976 0.5406387 -0.92374 -0.5406399 1.1780972 0.4197214 -0.99451 -0.41972110 1.3089969 0.2895404 -1.049451 -0.2895411 1.4398966 0.1521675 -1.087352 -0.15216812 1.5707963 0.0098335 -1.107271 -0.00983313 1.701696 -0.135108 -1.108558 0.135107914 1.8325957 -0.280218 -1.090872 0.280217815 1.9634954 -0.423013 -1.054192 0.423012616 2.0943951 -0.561006 -0.99882 0.56100617 2.2252948 -0.691751 -0.925384 0.691751218 2.3561945 -0.812884 -0.834834 0.812883719 2.4870942 -0.922163 -0.728428 0.922163220 2.6179939 -1.017514 -0.607717 1.017514221 2.7488936 -1.097064 -0.474525 1.097064122 2.8797933 -1.159179 -0.330919 1.159179323 3.010693 -1.202497 -0.179183 1.202496524 3.1415927 -1.225952 -0.021777 1.2259515

Page 38: Introduction  to  Numerical Analysis

Rozwiązanie numeryczne II

dtdxtv

dtxd

dtdvtagdzietxta 2

2

:

Korzystamy z przybliżonych wzorów na pochodne centralne:

t

ttvttvtta

ttxttxttv

21

23

21

tttattvttvtttvtxttx

21

23

21

tktvv

tktxx

k

k

0

0

Oznaczamy:

tavv

tvxx

kkk

kkk

1

1

21

23

21

Z postaci równania wynika: 11 kk xa

Page 39: Introduction  to  Numerical Analysis

Rozwiązanie numeryczne II c.d.

24201 000021

ttavvsmvmxGdy t=0 :

k t(k) x(k) v(k+1/2) a(k)0 0 1 -0.06545 -11 0.1308997 0.9914326 -0.195228 -0.9914332 0.2617994 0.9658773 -0.321661 -0.9658773 0.3926991 0.923772 -0.442583 -0.9237724 0.5235988 0.8658381 -0.555921 -0.8658385 0.6544985 0.7930682 -0.659733 -0.7930686 0.7853982 0.7067094 -0.752241 -0.7067097 0.9162979 0.6082413 -0.83186 -0.6082418 1.0471976 0.4993511 -0.897224 -0.4993519 1.1780972 0.3819047 -0.947216 -0.381905

10 1.3089969 0.2579145 -0.980977 -0.25791411 1.4398966 0.1295049 -0.997929 -0.12950512 1.5707963 -0.001124 -0.997782 0.001123613 1.701696 -0.131733 -0.980538 0.13173314 1.8325957 -0.260085 -0.946493 0.260085115 1.9634954 -0.383981 -0.89623 0.383980716 2.0943951 -0.501297 -0.83061 0.501296917 2.2252948 -0.610024 -0.750758 0.610023518 2.3561945 -0.708298 -0.658042 0.708297619 2.4870942 -0.794435 -0.554051 0.794435120 2.6179939 -0.86696 -0.440566 0.866960221 2.7488936 -0.92463 -0.319532 0.924630222 2.8797933 -0.966457 -0.193024 0.966456923 3.010693 -0.991724 -0.063207 0.991723724 3.1415927 -0.999997 0.0676921 0.9999975

0 2 4 6 8 10 12 14

-1.5

-1

-0.5

0

0.5

1

1.5

pochodna centralna

y(k)

v(k+1/2)

a(k)

-1.5 -1 -0.5 0 0.5 1 1.5

-1.5

-1

-0.5

0

0.5

1

1.5

v

a

Page 40: Introduction  to  Numerical Analysis

Ekstrapolacja RichardsonaCzy wykonując obliczenia ze skończona długością kroku h można oszacować wynika graniczny dla h 0 ?

prhOhaahF rp 10

F(h) – wartość obliczona dla długości kroku ha0 = F(0) hipotetyczna wartość dla zerowej długości krokup – rząd błędu metody numerycznej

Obliczamy wynik numeryczny F dla dwóch różnych kroków h i (qh)

110

10

qhOqhaaqhF

hOhaahFrp

rp

pp

pp

hqaaqhF

qhaahF

10

10 /*

Page 41: Introduction  to  Numerical Analysis

Ekstrapolacja Richardsona c.d.

rthOq

qhFhFhFa tp

10

a0 też jest obarczone błędem i postępowanie można prowadzić dalej.

Najczęściej ekstrapolację stosujemy dla q=2, a wtedy:

rthOhFhFhFa tp

122

0

10

10

10

pp

pp

pppp

qaqhFhFq

hqaaqhF

hqaaqhFq odejmujemy stronami

Page 42: Introduction  to  Numerical Analysis

Ekstrapolacja Richardsonaprzykład 1

268412

10

3 dxxI

h T(h)

2 2728

1 2695

Wyniki numeryczne metodą trapezów:

26841126953

27282695269512

211 20

TTTa

Page 43: Introduction  to  Numerical Analysis

Ekstrapolacja Richardsona przykład 2

f(x)=ln(x)f'(x)=[f(x+h)-f(x-h)]/(2*h)

ln'(3)=1/3

h P(h) /3 a00.8 3.8 1.335001 0.341590

2.2 0.788457

0.4 3.4 1.223775 0.335330 -0.002087 0.3332432.6 0.955511

0.2 3.2 1.163151 0.333828 -0.000501 0.3333282.8 1.029619

0.1 3.1 1.131402 0.333457 -0.000124 0.3333332.9 1.064711

błąd metody różnic centralnych h2, czyli p=2. = P(h)-P(2h)

Page 44: Introduction  to  Numerical Analysis

Interpolacja wielomianemDana jest funkcja f(x) w postaci tablicy, tzn. znamy jej wartości w (n+1) punktach (węzłach)

f(x0), f(x1), f(x2), ..., f(xn).Zadanie: znaleźć wielomian n-tego stopnia taki, że:

w(x0)= f(x0)w(x1)= f(x1)...w(xn)= f(xn)wn(x) nazywamy wielomianem interpolacyjnym.

Cele interpolacji:• łatwe zapamiętanie postaci funkcji

(współczynniki)• wykonywanie operacji matematycznych na

wielomianie• wyznaczanie pośrednich wartości funkcji

Page 45: Introduction  to  Numerical Analysis

Obliczanie wartości wielomianuPostać naturalna wielomianu

nn

n

k

kkn xaxaxaaxaxw

...2210

0

Obliczanie wartości wielomianu wg schematu Hornera

011 ...... axaxaxaxw nnn

Page 46: Introduction  to  Numerical Analysis

Obliczanie wartości wielomianuAlgorytm

Wczytaj n , {ai}, x

START

STOP

w=an

i≥0

Wypisz w

TAK

NIE

i=n-1

w=w*x+ai

i=i-1

Page 47: Introduction  to  Numerical Analysis

Ślad działańw3(x)=1+3x-2x2+4x3

n=3 a0=1 a1=3 a2=-2 a3=4Oblicz wartość wielomianu w punkcie x=3.

n w i3 4 2

4*3-2=10 110*3+3=33 0

33*3+1=100 -1

Wartość wielomianu w punkcie x=3 wynosi 100.

Page 48: Introduction  to  Numerical Analysis

Postać Newtona wielomianuNiech x0, x1, x2,..., xn-1 są danymi liczbami, dla których wartości wielomianu są określone (dane).Tworzymy wielomiany pomocnicze pk (k=0,1,2,...,n) takie, żep0(x) = 1p1(x) = x-x0

p2(x) = (x-x0)(x-x1)...pk(x)= (x-x0)(x-x1)... (x-xk-1)

Wielomian wn(x) przedstawiamy jako

n

kkkn xpbxw

0

Jak wyznaczyć współczynniki bk?

Page 49: Introduction  to  Numerical Analysis

Wyznaczanie współczynników bkx f(x) f[xl,xl+1] f[xl,xl+1,xl+2]

x0 f(x0)

x1 f(x1)

x2 f(x2)

...

xn f(xn)

01

0110 ,

xxxfxfxxf

12

1221, xx

xfxfxxf

1

11,

nn

nnnn xx

xfxfxxf

02

1021210

,,,,xx

xxfxxfxxxf

2

12112

,,,,

nn

nnnnnnn xx

xxfxxfxxxf

kk xxxfb ,...,, 10

Page 50: Introduction  to  Numerical Analysis

Przykład

32

3

3

2

1

0

4231

4231475851833100

75353

31

xxx

xxxxxxxw

xxxxpxxxp

xxpxp

x f(x) f[x0,x1] f[x0,..,x2]f[x0,...,x3

]3 1005 466 1837 1296 415 589 2782 743 82 4

b0 = 100b1 = 183b2 = 58b3 = 4

Page 51: Introduction  to  Numerical Analysis

Interpolacja liniowaProsta: w1(x)=a0+a1x

x

y

x1x0

f0

f1

f(x0) = f0 = a0+a1x0 (/ x1)f(x1) = f1 = a0+a1x1 (/ x0) Wyznacz a0, a1

f1 -f0 = a1x1 – a1x0 a1=(f1-f0)/(x1-x0)f0x1-f1x0 = a0x1 – a0x0 a0=(f0x1 –f1x0 )/(x1-x0)

w1(x)= [(f0x1 –f1x0 )/(x1-x0)] + [(f1-f0)/(x1-x0)] xw1(x)= [(f0x1 –f0x0 +f0x0 –f1x0 )/(x1-x0)] + [(f1-f0)/(x1-x0)] xw1(x)=f0 + [(f1-f0)/(x1-x0)] (x-x0)

to postać Newtona dla

w1(x) = b0 p0(x) + b1 p1(x) , gdzie

p0(x) = 1 b0 = f0

p1(x) = x-x0 b1 = (f1-f0)/(x1-x0)

Page 52: Introduction  to  Numerical Analysis

Zjawisko RungegoPrzy interpolacji wielomianem wysokiego stopnia, np. 10-tego dla funkcji w przedziale [-1,1] dla węzłów równoodległych

xi = -1 + i *0,2 i = 0,1,2,...,10

22511)(x

xf

x f(x) w(x)

-10.03846

2 0.038462-0.8 0.0588240.10181 0.058824

-0.6 0.1 0.2058820.26018

1 0.1

-0.4 0.2 0.5 0.7352940.79185

5 0.2

-0.2 0.5 1.5 2.5 2.9411762.68665

2 0.5

0 1 2.5 2.5 1.48E-15 -3.67647-

6.36312 1

0.2 0.5 -2.5 -12.5 -25 -31.25 -27.5735-

17.6753 0.5

0.4 0.2 -1.5 2.5 25 62.5 93.75 101.102984.8416

3 0.2

0.6 0.1 -0.5 2.5 -1.5E-15 -31.25 -93.75 -156.25 -183.824-

167.916 0.1

0.8 0.058824 -0.20588 0.735294 -2.94118 -3.67647 27.57353101.1029183.8235229.7794220.941

7 0.058824

1 0.038462 -0.10181 0.260181 -0.79186 2.6866526.363122 -17.6753 -84.8416 -167.916 -220.942-

220.9420.038462

Page 53: Introduction  to  Numerical Analysis

Zjawisko RungegoPorównanie wykresu funkcji i wielomianu:

-1.5 -1 -0.5 0 0.5 1 1.5

-0.5

0

0.5

1

1.5

2

2.5

Page 54: Introduction  to  Numerical Analysis

Rozwiązywanie układu równań

bAxbAAxA

bAx

1

11

Przykład: x1+2x2+3x3=12x1+3x2+4x3=13x1+4x2+ x3=1

41

42

41

42

48

410

41

410

413

3

2

1

111

143432321

1AxbAxxx

011

111

41

42

41

42

48

410

41

410

413

3

2

1

xxx

bAx 1

x1=-1x2=1x3=0

Page 55: Introduction  to  Numerical Analysis

Macierze a przekształcenia geometryczne

y2

x1x2

y1

inwersja

2

2

1

1

1001

yx

yx

P

y2

x1x2

y1

odbicie w płaszczyźnie

2

2

1

1

1001

yx

yx

P

y2

x1

x2y1

obrót

2

2

1

1

cossinsincos

yx

yx

Macierze transformacji geometrycznych są macierzami ortogonalnymi

1001

1001

1001

1001

QQQQ

Q

T1

1001

1001

1001

1001

QQQQ

Q

T1

1001

cossinsincos

cossinsincos

cossinsincos

QQQQ

Q

T1

Page 56: Introduction  to  Numerical Analysis

Przekształcenie macierzy przez podobieństwo

Istnieje odwzorowanie A, które przekształca x y: yAx

y’

x

x’y Jeżeli wektory x’ i y’ przekształcane są do wektorów x i y poprzez transformację Q, jak wygląda odwzorowanie wektora x’ w wektor y’ ?

''

QyyQxx

Jeżeli oraz , to yAx '' QyAQx

Jeżeli macierz Q jest nieosobliwa, to

'''

''

BxAQxQyAQxQQyQ

1

11

Macierze A i B są swoimi transformatami przekształconymi przez podobieństwo AQQB 1

Page 57: Introduction  to  Numerical Analysis

Przekształcenie - przykład

'22

1'12

12

'22

1'12

11

221

121

xxx

xxx

yxxyxx

'2

'1

21

21

21

21

2

1'2

'1

21

21

21

21

2

1

2

1

2

1

cossinsincos

1111

yy

yy

xx

xx

yy

xx

Q

'2

'1

'2

'1

21

21

21

21

'2

'1

'2

'1

21

21

21

21

21

21

21

21

'2

'1

'2

'1

21

21

21

21

'2

'1

21

21

21

21

1111

2002

1111

1111

xx

xx

yy

xx

yy

yy

xx

'2

'2

'1

'1

'2

'1

yxx

yxx

2’

1

1’2

φ=-45°

Page 58: Introduction  to  Numerical Analysis

Przekształcenie - przykład

222

13

21

13

21

1111

21

21

21

21

212

3

21

21

21

21

'2

'1

'2

'1

21

21

21

21

'2

'1

'2

'1

21

21

21

21

21

21

21

21

'2

'1

'2

'1

21

21

21

21

'2

'1

21

21

21

21

1111

2002

1111

1111

xx

xx

yy

xx

yy

yy

xx

22

2

21

23

21

23

2’

1

1’2

(x1,x2)=(1,2)(y1,y2)=(3,-1)

1+2=31-2=-1

x

y

221

121

yxxyxx

-45°

(x’1,x’2)=(y’1,y’2)=

2

12

3 , 22,2

'2

'2

'1

'1

'2

'1

yxx

yxx

Page 59: Introduction  to  Numerical Analysis

Równanie charakterystyczne macierzyλ – skalar , A(nn) I(nn) K(nn)

K = A – λI macierz charakterystyczna macierzy A

detK = K(λ) = det(A - λI)=A - λI= 0 równanie charakterystyczne macierzy

K(λ) = λn + an-1 λn-1 + an-2 λn-2 + ... + a1 λ + a0 = 0

Pierwiastki wielomianu K(λ): λ1 , λ2 , ... , λn-1 , λn nazywamy pierwiastkami charakterystycznymi (wartościami własnymi) macierzy A.

Jeżeli B = Q-1AQ, to macierz charakterystyczna macierzy BK = B – λI = Q-1AQ - Q-1IQ = Q-1(A - I)Q , a wyznacznikdetK =B - λI= Q-1 A - λI Q = A - λI= 0

Dwie macierze związane przekształceniem przez podobieństwo mają te same pierwiastki charakterystyczne.

Page 60: Introduction  to  Numerical Analysis

Pierwiastki charakterystyczne

2,220110111

011

11det

2,220110111

01111

det

1111

1111

1111

2122

2122

21

21

21

21

21

21

21

21

I

IA

B

A

B

Page 61: Introduction  to  Numerical Analysis

Macierz diagonalna

nn

n

nn

dddd

dddd

d

dd

d

d

dd

d

,...,,,

0...

...000...............0...000...000...00

...000...............0...000...000...00

332211

321

3

2

1

3

2

1

ID

IDD

Jeżeli istnieje takie przekształcenie przez podobieństwo, które macierz A sprowadzi do macierzy diagonalnej D , to elementy na przekątnej macierzy diagonalnej są zarazem pierwiastkami charakterystycznymi (wartościami własnymi) macierzy A.

Page 62: Introduction  to  Numerical Analysis

Przykład diagonalizacji macierzy

2sin2cos2sin2cos2sin2cos2sin2cos

sincossin2cossincossin2cossincossin2cossincossin2cos

sincossincossincossincos

cossinsincos

cossinsincos

1111

cossinsincos

1111

cossinsincos

2222

2222

AQQ

AQ

1

Aby wyzerować elementy niediagonalne:

84212tan2cos2sin02sin2cos

Po przekształceniu otrzymujemy macierz:

2,220

02sincos0

0sincos21

44

44

Page 63: Introduction  to  Numerical Analysis

Pierwiastki i wektory charakterystyczneC-1AC jest przekształceniem diagonalizującym macierz A.

Kolumny macierzy C są wektorami charakterystycznymi.

Jeżeli macierz C jest ortogonalna, to C-1=CT , a C-1AC = CTAC.

88

88

88

88

cossinsincos

cossinsincos

C

Obustronne pomnożenie macierzy A przez wektor charakterystyczny daje wartość charakterystyczną:

222

22sincossincossinsincoscos

sincossincos

sincossincos

1111

sincos

4482

888882

88

8888

8

888

Ogólnie:

nkk ,...,2,1kTk Acc

Page 64: Introduction  to  Numerical Analysis

64

Regresja liniowa

Regresja liniowa:

y=a*x+b

Zadanie: Wyznaczyć optymalne wartości a oraz b.

0 1 2 3 4 5 6 7 8 90

5

10

15

20

25

30

(x1,y1)

(x2,y2)

Page 65: Introduction  to  Numerical Analysis

65

Regresja liniowaPodstawowe założenia:

1) Rozkład yi wokół linii prostej jest losowy

2) Wariancja σy2 jest niezależna od x

Metoda najmniejszych kwadratów:

Wyznaczamy min Φ(a,b) względem a oraz b:

2

1

,

n

iii bxayba

02,

02,

1

1

n

iii

n

iiii

bxaybba

xbxayaba

Page 66: Introduction  to  Numerical Analysis

66

Regresja liniowa

n

ii

n

ii

n

iii

n

ii

n

ii

n

ii

n

ii

n

ii

n

ii

n

iii

ybnxa

yxxbxa

bnxay

xbxayx

11

111

2

11

11

2

1

0

0

Rozwiązanie układu równań ze względu na a, b:

2

11

2

1111

2

2

11

2

111

n

ii

n

ii

n

ii

n

iii

n

ii

n

ii

n

ii

n

ii

n

ii

n

ii

n

iii

xxn

xyxyxb

xxn

yxyxna

Page 67: Introduction  to  Numerical Analysis

67

Regresja liniowaEstymata wariancji dla wartości yi:

2n

bxays

n

1i

2ii

2

Estymata wariancji dla parametrów a oraz b:

2i2i

2i22

b2i

2i

22a xxn

xssxxn

nss

Współczynnik korelacji liniowej dla próbki r

yyxx

xy

ii

ii

SSS

yvarxvary,xcovr

Wartość r zawiera się między -1 i +1. r>0 wskazuje na zależność dodatnią, a r<0 na zależność ujemną między x oraz y. r=0 wskazuje na brak zależności liniowej między x oraz y.

Page 68: Introduction  to  Numerical Analysis

68

Regresja liniowa - przykład

0 1 2 3 4 5 6 7 8 9 10

-40

-35

-30

-25

-20

-15

-10

-5

0

Page 69: Introduction  to  Numerical Analysis

69

x [km] y [kg] x*x x*y y-a*x-b (y-a*x-b)^2 x-xsr y-ysr

1 -2 1 -2 -0.4 0.16 -4 18

3 -10 9 -30 0.8 0.64 -2 10

5 -20 25 -100 0 0 0 0

7 -30 49 -210 -0.8 0.64 2 -10

9 -38 81 -342 0.4 0.16 4 -18

Sum: 25 -100 165 -684 0.00 1.6 0 0

a=-4.6

kg/km

b= 3 kg

s^2= 0.5333 s= 0.7303 kg

sa^2= 0.0133 sa= 0.1155

sb^2= 0.44 sb= 0.6633

xsr= 5 cov(x,y)= -36.8000

ysr= -20 var(x)= 8.0000

var(y)= 169.6000

r(x,y)= -0.9991

Page 70: Introduction  to  Numerical Analysis

70

Więcej o korelacji - kwadranty

0 1 2 3 4 5 6 7 8 9 10

-40

-35

-30

-25

-20

-15

-10

-5

0

I II

IV III

μx

μy

Kwadranty:I x-μx<0 y-μy<0 (x-μx)(y-μy)>0

II x-μx>0 y-μy<0 (x-μx)(y-μy)<0

III x-μx>0 y-μy>0 (x-μx)(y-μy)>0

IV x-μx<0 y-μy>0 (x-μx)(y-μy)<0

y,xcovn

yx)y,xcov( yixi

Page 71: Introduction  to  Numerical Analysis

71

Współczynnik korelacji liniowej

yyxx

xy

ii

ii

SSS

yvarxvary,xcovr

r=-1x

y

-1<r<0

y

r=0

y

0<r<1

y

r=1

y

Page 72: Introduction  to  Numerical Analysis

Regresja liniowa jako układ równań

nnn baxy

baxybaxybaxy

333

222

111Niewiadome: a , b

Szukamy rozwiązania takiego, aby uzyskać

n

iii

n

ii

n

ii

baxy1

2

1

2

1

2min

Zapis macierzowy:

nnn

ba

x

xx

y

yy

...

1......11

...2

1

2

1

2

1

aJy

Page 73: Introduction  to  Numerical Analysis

Układ równań nadmiarowy

JayJayεε

εJay

TT

n

n

n

ii

......2

1

211

2

Poszukujemy rozwiązania a, dla którego T jest minimalne.

yJJJa

yJJaJ

0yJJaJaεε

yJaJaJayyJayyJaJaJayyJayJayJayJay

TT

TT

TTT

TTTTTTTTTTT

TTTT

1

22

2

Tak obliczone wartości parametrów a zapewniają minimalizację sumy kwadratów odchyleń od prostej

Page 74: Introduction  to  Numerical Analysis

Przykład przedstawienia macierzowego

5,91,5

140802

140802

51402821

18

16

14

12

80204*120det42020120

18161412

18

16

14

12

18161412

51402821

80120

8020

8020

804

80120

8020

8020

804

2

a

yJJJ

JJJJ

aJy

T1T

TT

ba

Page 75: Introduction  to  Numerical Analysis

WariancjeWariancja dla zmiennej y

22

n

syεεT

7,01,09,1

3,1

5,91,5

18161412

51402821

Jayε 9,228,5

7,01,09,1

3,1

7,01,09,13,124

12

ys

Wariancje i kowariancja dla parametrów

80348

8058

8058

806,11

80120

8020

8020

804

22

2

*9,2),cov(

),cov( 1TJJyb

a ssba

bas

Współczynnik korelacji liniowej

91,0348*6,11

58),cov(,22

ba ssbabar

Page 76: Introduction  to  Numerical Analysis

JakobianW regresji liniowej funkcja modelu to prosta y= a*x + b.Jakobian to macierz pochodnych po parametrach a, b we wszystkich punktach danych i = 1,2,...,n

1......11

......2

1

22

11

nnby

nay

by

ay

by

ay

x

xx

J

Jeżeli do danych chcielibyśmy dopasować wielomian 2-go stopnia y= a0 + a1*x + a2*x2 , to jakobian miałby postać:

2

222

211

222

111

1.........

11

.........

210

210

210

nnnay

nay

nay

ay

ay

ay

ay

ay

ay

xx

xxxx

J

Page 77: Introduction  to  Numerical Analysis

77

Rozkład złożonego pasma

0

5

10

15

20

25

0 5 10 15 20 25

Należy dopasować do pasma krzywe Gaussa w postaci

a

b

c

a - wysokośćb - położeniec - szerokość

Pasmo doświadczalne

2

2

2 k

k

cbx

kk eaxP

Page 78: Introduction  to  Numerical Analysis

78

Metoda najmniejszych kwadratów

{ak}, k=1:M , M dopasowanych parametrówFunkcja błędu (suma po n punktach):Φ{ak} = j [yj(dośw) - yj({ak}]2

ZadanieMinimalizować Φ modyfikując zbiór {ak} startując z wartości początkowych {ak}0

Page 79: Introduction  to  Numerical Analysis

79

Funkcja błędu i jakobian

2

2

2

2

2

2

23

2

22

2

k

k

k

k

k

k

cbx

k

kk

k

k

cbx

k

kk

k

k

cbx

k

k

ecbxa

cP

ecbxa

bP

eaP

N

kk

cbx

kk

xPxP

eaxP k

k

1

2 2

2

Rozkład na N pasm

Elementy jakobianu

Page 80: Introduction  to  Numerical Analysis

80

Algorytm

2

2

2

1

1

1

11

2121

12111111

2

1

......

............

......

...

...

cbacba

bP

aP

bP

aP

aP

cP

bP

aP

y

yy

aJY

nn

n

Poprawiona wartość {ak}

YTJJTJa1

Page 81: Introduction  to  Numerical Analysis

81

Metoda najmniejszych kwadratów

Krok 1

0

5

10

15

20

25

0 5 10 15 20 25

Krok 2

0

5

10

15

20

25

0 5 10 15 20 25

Krok 3

0

5

10

15

20

25

0 5 10 15 20 25

Krok 4

0

5

10

15

20

25

0 5 10 15 20 25

Pasmo rozłożone na 2 składowe

0

5

10

15

20

25

0 5 10 15 20 25

Page 82: Introduction  to  Numerical Analysis

Calculation precisionSources of errors:

• input data errors• round-off errors• cut-off errors• the model errors• accidental errors

Absolute and relative errors:

xx~ approximate value

accurate value

absolute error

relative error xx

xxxr

xxx

~

~

Page 83: Introduction  to  Numerical Analysis

Round-off and cut off errors round-off cut-off0.2397 0.240 0.239-0.2397 -0.240 -0.239

round-off to t digit after the decimal pointthe resulting absolute error ½·10-t

Example above: 0.240 ½·10-3 = 0.,240 0,0005

How to round-off numbers ending with 5?0.2345 0.2340.2435 0.244in addition the errors cancel

Page 84: Introduction  to  Numerical Analysis

Przenoszenie się błędówDodawanie i odejmowanie

05,075,3~~70,303,042,102,033,2~~min80,303,042,102,033,2~~max

03,042,1~02,033,2~

21

21

21

2

1

xxxxxx

xx

Jaki jest błąd sumy?

Jaki jest błąd różnicy?

05,089,0~~84,003,042,102,033,2~~min94,003,042,102,033,2~~max

21

21

21

xxxxxx

Page 85: Introduction  to  Numerical Analysis

Przenoszenie się błędówDodawanie i odejmowanie

2121

212121

2121212121

2211212211

222111

~~~~

~~~~

~~

xxxxxxxxxx

xxxxxxxxxxxxxxxxxxxx

xxxxxx

Podobnie:

2121

212121

~~~~

xxxxxxxxxx

Błąd bezwzględny sumy lub różnicy równa się sumie błędów bezwzględnych składników.

Page 86: Introduction  to  Numerical Analysis

Znoszenie się składników przy odejmowaniu

%10010001,00001,0

0001,0~~0001,00001,0~~

10105763,05764,0~~105763,0~105764,0~

21

21

4214

21

21

421

2

421

1

r

xxxxxx

x

x

błąd bezwzględny

błąd względny

Page 87: Introduction  to  Numerical Analysis

Przenoszenie się błędówMnożenie i dzielenie

212121

2121212121

2121221121

2222211111

1~~11

1111~~1~1~

rrxxxxrrxxrrrrxxrrxxrxrxxx

rxxxxrxxxx

Podobnie:

212

1

2

1

22

112

12

1

1~~

111~1~

~~

rrxx

xx

rx

rxx

xxx

Błąd względny iloczynu lub ilorazu równa się sumie błędów względnych czynników.

Page 88: Introduction  to  Numerical Analysis

Wykorzystanie zasad przenoszenia błędów

Oblicz pierwiastki równania kwadratowego wykonując obliczenia z dokładnością do 5 cyfr znaczących.

62

21

321

2

321

1

21

212

212

21

109982,55

0005,0

103018,0

0005,010982,55982,2728

10018,0982,2728

982,277831784428

028

r

r

x

x

xx

tylko 2 cyfry znaczące

5 cyfr znaczących

Page 89: Introduction  to  Numerical Analysis

Wykorzystanie zasad przenoszenia błędów

Wykorzystanie wzorów Viete’a

62

51

621

2121

321

2

21

212

212

21

109982,55

0005,0

103017863,0

0000005,0

10017863,0982,55111

10982,55982,2728

982,277831784428

028

r

r

xxxx

x

xx

acxx

cbxax

21

2 0

Page 90: Introduction  to  Numerical Analysis

Błędy maksymalne złożonych wyrażeń

yyr

xxyx

xyx

xyy

xxyy

xxxxxxxxxxxxyy

xxxyy

y

nxnxx

n

ii

xi

nnn

n

n

~2

~21

~1

1 ~

222111

21

21

...

~...~~~,...,~,~~

,...,, Dana zależność funkcyjna

Parametry xi obarczone błędami. Jaki jest błąd maksymalny wielkości złożonej y?

Page 91: Introduction  to  Numerical Analysis

Przykład szacowania błędu maksymalnego

%1616,0232,0

32,01,010

2011012

101

11

210

300320

2

2

yr

ccbab

ca

c

ccyb

bya

ayy

cbay

1,01,00,101130022320

ccbbaa

Page 92: Introduction  to  Numerical Analysis

Błędy standardowe złożonych wyrażeń

22

~

22

2

~2

21

2

1

1

22

~

222111

21

21

...

,~...,~,~~,...,~,~~

,...,,

nxnxx

y

n

ii

xiy

nnn

n

n

sxys

xys

xys

sxys

sxxsxxsxxxxxyy

xxxyy

Dana zależność funkcyjna

sx to błędy standardowe zmiennych x. Jaki jest błąd standardowy wielkości złożonej y?

Page 93: Introduction  to  Numerical Analysis

Przykład szacowania błędu standardowego

22,01,010

2011012

101

11

210

300320

22

22

22

2

22

22

22

2

22

22

22

cba

cbay

scbas

cs

c

scys

bys

ays

cbay

1,01,00,101130022320

c

b

a

scsbsa