praktická cvičení

Komentáře

Transkript

praktická cvičení
Numerická integrace metodou „crude“ Monte Carlo
Příklady
Příklad 1
Použijte generátor pseudonáhodných čísel k numerickému výpočtu jednoduchého integrálu
π
I1 = ∫ sin xdx .
(1)
0
Analyzujte konvergenci výsledků a porovnejte s analytickým výpočtem.
Řešení
1.
2.
Nejdříve si spočítejte analyticky první zadaný integrál (1).
Vykreslete si integrovanou funkci pomocí software Mathematica, graf si uložte a ověřte
výpočet integrálu – spusťte software Mathematica a postupně zadejte (do dalšího řádku
přejdete vždy stiskem klávesy Enter):
f1[x_]:=Sin[x]
Export["D:\\u09a.bmp",Plot[f1[x],{x,0,Pi}],"BMP"]
Integrate[f1[x],{x,0,Pi}]
3.
4.
5.
6.
Cestu pro uložení souboru si samozřejmě upravte podle potřeby a proveďte výpočet
stiskem Shift+Enter. Celý soubor si uložte.
Proveďte výpočet integrálu Monte Carlo metodou – pravým tlačítkem myši poklepejte na
ikonu připraveného programu i1.exe a zadejte požadovaný počet generovaných bodů a
počet výpisů integrálů, prozatím obě hodnoty stejné, např. 10 000. Výsledek se zapisuje
do souboru i1.txt.
Spusťte program, který umí vykreslit jednorozměrný graf, např. MS Excel, načtěte
textový soubor i1.txt s hodnotami integrálu v průběhu generování pseudonáhodných
čísel a odpovídající závislost hodnoty integrálu na počtu generovaných bodů vykreslete.
Do grafu přidejte i přesný výsledek (spočtený v prvním bodu tohoto postupu) jako
konstantní funkci.
Studujte konvergenci hodnoty integrálu s počtem generovaných bodů – proveďte výpočet
pro větší počty generovaných bodů 106, 107 a 108 (můžete zadávat ve tvaru 1e7, 1e8, 1e9;
stačí zvolit jeden výpis). Pokud nechcete ztratit obsah staršího souboru i1.txt, vždy
starší soubor přejmenujte. Za účelem odhadu chyby výsledku proveďte všechny tyto
výpočty pětkrát.
Spočítejte průměrnou hodnotu integrálu a odhady chyb pro jednotlivé počty 106, 107 a
108 generovaných bodů a vše zaznamenejte do tabulky. Do tabulky přidejte i přesné
řešení. Vyslovte závěry o konvergenci výsledku.
Příklad 2
Použijte generátor pseudonáhodných čísel k numerickému výpočtu dvojného integrálu
I 2 = ∫∫ ye x dxdy .
Ω
(2)
Analyzujte konvergenci výsledků a porovnejte s analytickým výpočtem.
Řešení
7.
8.
Předem si integrál (2) spočítejte.
Vykreslete si integrovanou funkci pomocí software Mathematica, graf si uložte a ověřte
výpočet integrálu – do již otevřeného souboru s příponou nb (z Příkladu 1) postupně
zadejte (do dalšího řádku přejdete stiskem klávesy Enter):
f2[x_,y_]:=y*Exp[x]
Export["D:\\u09b.bmp",Plot3D[f2[x,y],{x,0,1},{y,1,2}],"BMP"]
Integrate[Exp[x],{x,0,1}]*Integrate[y,{y,1,2}]
9.
Využili jsme toho, že dvojný integrál lze převést na dvojnásobný. Cestu pro uložení
souboru si opět upravte podle potřeby a výpočet proveďte stiskem Shift+Enter. Soubor
uložte.
Proveďte výpočty metodou Monte Carlo (i2.exe) a zpracujte výsledky (i2.txt)
analogicky s body 3 - 6 postupu; jen v bodě 5 proveďte výpočty pro menší počty
generovaných bodů.
Příklad 3
Použijte generátor pseudonáhodných čísel k numerickému výpočtu trojného integrálu
I 3 = ∫∫∫1dxdydz .
Ω
(3)
Analyzujte konvergenci výsledků a porovnejte s analytickým výpočtem.
Řešení
10. Spočítejte integrál (3), řešení se zjednodušší substitucí do sférických souřadnic.
11. Pomocí software Mathematica vykreslete integrační oblast (přímo funkci vykreslit
nemůžeme – graf by měl být čtyřrozměrný) a graf uložte – do již otevřeného souboru
s příponou nb zadejte parametrické zadání plochy:
12.
Export["D:\\u09c.bmp",ParametricPlot3D[{Sin[u]Cos[v],Sin[u]Sin[v],Cos[u]
},{u,-Pi/2,Pi/2},{v,0,Pi}],"BMP"]
Cestu pro uložení souboru si upravte podle potřeby a stiskněte Shift+Enter.
Proveďte výpočty metodou Monte Carlo (i3.exe) a zpracujte výsledky (i3.txt)
analogicky s body 3 - 6 postupu; jen v bodě 5 proveďte výpočty pro menší počty
generovaných bodů.

Podobné dokumenty

L4 – Alternátor při nesymetrickém zatížení

L4 – Alternátor při nesymetrickém zatížení 100 Hz, které způsobují přídavné oteplení rotoru. Protože tepelné využití rotoru je vyšší s rostoucím typovým výkonem strojů, je nutné zejména u velkých alternátorů sledovat teplo akumulované v rot...

Více

Matematická analýza - zápočtové příklady

Matematická analýza - zápočtové příklady > grf1:=plot3d(2*x+arcsin(y/sqrt(x^2+y^2)),x=1..2,y=-2..2,title =`realna cast a krivka psi:`): > grf2:=plot3d([r*cos(f),r*sin(f),f+r*cos(f)],r=0..2,f=-Pi..Pi, style=PATCHNOGRID,title=`imaginarni ca...

Více

EA20_ sales dopis pro tisk_LK.pages

EA20_ sales dopis pro tisk_LK.pages Bylo někdy dříve tolik lidí online? NE. Měli jsme dříve tak rychlé a chytré počítače? NE. Měli jsme takové možnosti automatizovaného marketingu a komunikace? NE. Věděli jsme někdy dříve více o psyc...

Více

U x

U x Povšimněme si, že operace komposice funkcí je obecně nekomutativní, tj. opět závislá na pořadí. Elementární funkce V tomto oddílu si ukážeme překvapující skutečnost, že ačkoli lze napsat neomezené ...

Více

SANTIAGO CALATRAVA - TURNING TORSO -

SANTIAGO CALATRAVA - TURNING TORSO - {{Sqrt[r2^2 + r1^2 + r1 r2 2Cos[a + Pi]]Sin[ArcTan[r1 Sin[ a + Pi], (r2 + r1 Cos[a + Pi])] + b + Pi/7], Sqrt[r2^2 + r1^2 + r1 r2 2Cos[a + i]]Cos[ArcTan[r1 Sin[a + Pi], (r2 + r1 Cos[a + Pi])] + b + ...

Více

1. teplota

1. teplota 100 °C - bod varu, teplota varu vody, za normálního tlaku teploty nižší než 0 °C označujeme vždy znaménkem minus (např.: - 23 °C), teploty vyšší než 0 °C označujeme znaménkem plus (např.: +15 °C), ...

Více

Modelové cvičení z matematiky: Základy programu Maple

Modelové cvičení z matematiky: Základy programu Maple podmínku pp:=y(1)=7; a pak partikulární řešení dříve vložené rovnice R splňující podmínku pp nalezneme příkazem dsolve({R,pp},y(x));. Můžeme užít jediný příkaz. Např. příkaz dsolve({diff(y(x),x$2)=...

Více

PPC camp - několik tipů k optimalizacím kampaní

PPC camp - několik tipů k optimalizacím kampaní No tak teď už vím, že zastavení partnerů mi zvýší CTR a zlepší skóre kvality!

Více