Sylabus

22
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární úlohy Řešení soustav lineárních rovnic Metoda nejmenších čtverců pro lineární úlohy Sumace obecné a s korekcí Numerické výpočty v C a C++ Optimalizace výrazů, optimalizace při překladu

description

Sylabus. V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární úlohy Řešení soustav lineárních rovnic Metoda nejmenších čtverců pro lineární úlohy Sumace obecné a s korekcí - PowerPoint PPT Presentation

Transcript of Sylabus

Page 1: Sylabus

Sylabus

V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí:

• Nelineární úlohy– Řešení nelineárních rovnic– Numerická integrace

• Lineární úlohy– Řešení soustav lineárních rovnic– Metoda nejmenších čtverců pro lineární úlohy– Sumace obecné a s korekcí

• Numerické výpočty v C a C++– Optimalizace výrazů, optimalizace při překladu

Page 2: Sylabus

Numerické integrace

1. Výpočetní metody• Lichoběžníkové pravidlo

• Rombergova integrace

2. Příprava rovnice pro numerickou integraci

(odstranění singularit)

Page 3: Sylabus

Lichoběžníkové pravidlo

Plocha pod funkcí f(x) v intervalu <a, b> lze vypočítat takto:

Integrál lze v rámci numerických metod aproximovat takto:

b

a

dx)x(f

a b

f(a)f(b) f(x)

y(x)

b

a

b

a

dx)x(ydx)x(f

)ax(ab

)a(f)b(f)a(f)x(y

Page 4: Sylabus

Lichoběžníkové pravidlo II

Integrál lze v rámci numerických metod aproximovat takto:

b

a

b

a

dx)x(ydx)x(f

a b

f(a)f(b) f(x)

y(x)

)ax(ab

)a(f)b(f)a(f)x(y

2

)b(f

2

)a(f).ab()ab(

2

)b(f)a(fdx)x(f

b

a

=> Integrál lze aproximovat pomocí lichoběžníka

Page 5: Sylabus

Složené lichoběžníkové pravidlo

Přesnější odhad plochy pod křivkou lze použít součet lichoběžníků:

Při vzrůstajícím čísle n se aproximace čím dál více přibližuje funkci f.

2

)b(fh)1n(a(f...)h2a(f)ha(f

2

)a(fhdx)x(f

b

a

a b

f(x)

y(x)

a+h a+2h a+(n-1)h

Page 6: Sylabus

Složené lichoběžníkové pravidlo- půlení intervalů

Půlení intervalů - algoritmus, využívající lichoběžníkové pravidlo.

a b

f(x)

H

h

Page 7: Sylabus

Složené lichoběžníkové pravidlo- půlení intervalů II

Tplné = H(suma funkčních hodnot v „plných“ bodech, krajní body děleny dvěma)

Tvšechny = h(suma funkčních hodnot v „čárkovaných“ bodech + suma funkčních hodnot v „plných“ bodech, krajních body děleny dvěma)

a b

f(x)

H

h

Page 8: Sylabus

Složené lichoběžníkové pravidlo- půlení intervalů III

Algoritmus:

Iniciace: suma = (f(a)+f(b))/2, n = 1, n je počet intervalů

T0 = suma*(b - a)/n

Iterace:

(i) Rozděl všechny intervaly na poloviny

(ii) Aktualizuj sumu:

suma += (suma v nových bodech)

(iii) Aktualizuj n:

n = 2*n

(iv) Vypočti aproximaci Tn pro n intervalů:

Tn = suma*(b - a)/n

Page 9: Sylabus

Složené lichoběžníkové pravidlo- půlení intervalů - příklad

Vypočtěte integrál:

Výpočet:

0

dxxsin

Iterace Výsledek

0 0

1 1,57079633

2 1,8911890

3 1,97423160

4 1,99357034

5 1,998339336

… …

Page 10: Sylabus

Rombergova integrace

Při výpočtu vytváříme a využíváme T-tabulku:

T0,0

T1,0 T1,1

T2,0 T2,1 T2,2

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

Tm,0 Tm,1 ... ... Tm,m

Page 11: Sylabus

Rombergova integrace II

Tj,0 jsou hodnoty z lichoběžníkového pravidla s 2j podintervaly.

Pro Tj,k platí:

Přehlednější vztah pro výpočet Tj,k:

k-1 k

j-1 b

j c d

14

TT.4T

k

1k,1j1k,jk

k,j

14

bc.4d

k

k

Page 12: Sylabus

Rombergova integrace - příklad

Vypočtěte:

Výsledky:

0

dxxsin

j 0 1 2 3 4 5

0 0

1 1,570796 2,094395

2 1,891189 2,004559 1,998571

3 1,974232 2,000269 1,999983 2,000005

4 1,993570 2,000016 1,999999 2,000000 1,999999

5 1,998339 2,000001 2,000000 2,000000 2,000000 2,000000

Page 13: Sylabus

Příprava rovnice pro numerickou integraci

1

0

dxx1

xsin

0

1

2

3

4

5

6

7

8

9

0 0,2 0,4 0,6 0,8 1

Page 14: Sylabus

Příprava rovnice pro numerickou integraci (2)

Řešení: 1. Přesunutí singularity do 0.

x = 1 – u, dx = - du

1

0

dxx1

xsin

0

1

2

3

4

5

6

7

8

9

0 0,2 0,4 0,6 0,8 1

1

0

1

0

duu

)u1sin(

dxx1

xsin

Page 15: Sylabus

Příprava rovnice pro numerickou integraci (3)

Řešení: 2. Zbavíme se dělení 0.

u = w2, du = 2w dw

1

0

dxx1

xsin

1

0

2

1

0

dw)w1sin(2

duu

)u1sin(

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1,6

1,8

0 0,2 0,4 0,6 0,8 1

Page 16: Sylabus

Příprava rovnice pro numerickou integraci

2

02

x

dxx4

e

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0 0,5 1 1,5 2

Page 17: Sylabus

Příprava rovnice pro numerickou integraci (2)

Řešení: Zbavíme se dělení 0.

x = 2 cos u, dx = - 2 sin u du

2/

0

ucos2

2

02

x

due

dxx4

e

2

02

x

dxx4

e

0

0,5

1

1,5

2

2,5

0 0,5 1 1,5 2

Page 18: Sylabus

Příprava rovnice pro numerickou integraci

1

0

dx)x1(x

xcos

0

2

4

6

8

10

12

0 0,2 0,4 0,6 0,8 1

Page 19: Sylabus

Příprava rovnice pro numerickou integraci(2)

Řešení: Rozdělíme integrál na 2 části:

Každou část řešíme odděleně.

1

0

dx)x1(x

xcos

2/1

0

1

2/1

1

0

)x(f)x(f)x(f

Page 20: Sylabus

Příprava rovnice pro numerickou integraci první polovina

Řešení: Zbavíme se dělení 0.

x = u2, dx = 2u du

2/1

0

dx)x1(x

xcos

2/1

02

2

2/1

0

duu1

ucos2

dx)x1(x

xcos

22,1

2,22,3

2,42,5

2,62,7

2,82,9

3

0 0,2 0,4 0,6 0,8

Page 21: Sylabus

Příprava rovnice pro numerickou integraci druhá polovina

Řešení: Přesuneme problém do počátku.

x = 1 - u, dx = - du

1

2/1

dx)x1(x

xcos

2/1

0

1

2/1

duu)u1(

)u1cos(

dx)x1(x

xcos

0

1

2

3

4

5

6

0 0,1 0,2 0,3 0,4 0,5

Page 22: Sylabus

Příprava rovnice pro numerickou integraci druhá polovina 2

Řešení: Odstraníme singularitu v 0.

u = w2, du = 2w dw

1

2/1

dx)x1(x

xcos

2/1

02

2

2/1

0

dw)w1(

)w1cos(.2

duu)u1(

)u1cos(

0

0,5

1

1,5

2

2,5

3

3,5

0 0,2 0,4 0,6 0,8