Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 24. 12. 2011 00:47

amadeus1337
Zelenáč
Příspěvky: 11
Reputace:   
 

určitý integrál (metoda Monte Carlo)

$\int_{8}^{10}105+ln(3x)*sin(3x)+5x*cos(9x)dx$

problém byl vždy s řešením prostředního integrálu. děkuji všem za pomoc

Offline

 

#2 24. 12. 2011 15:20

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: určitý integrál (metoda Monte Carlo)

Zdravím,

"prostřední část" integrálu (dle nástrojů úvodního tématu sekce VŠ) nevypadá moc nadějně - nemá se počítat pomocí numerických metod? Nebo překlep v zadání - odkud je úloha? Děkuji.

Offline

 

#3 24. 12. 2011 15:33

amadeus1337
Zelenáč
Příspěvky: 11
Reputace:   
 

Re: určitý integrál (metoda Monte Carlo)

Příklad opravdu není přímo z předmětu matematika, ale z ekonomicko-matematických metod, což je spíše předmět pro systémové inženýry.

Jestli je v příkladu chyba bych neřekl, protože s chybou nám ho zadali napoprvé a tohle je druhý pokus zadání, takže se mi nechce věřit tomu, že by napodruhé nebyl profesor schopen zadat příklad správně.

Pokud mám být zcela konkrétní k zadání, tak se jedná o metodu Monte-Carlo jejíž součástí je výpočet uvedeného určitého integrálu. S uvedenou poznámku - použít 10 000 pokusů.

Offline

 

#4 24. 12. 2011 16:43

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: určitý integrál (metoda Monte Carlo)

Děkuji,

těch 10000 pokusů mi velmi naznačuje, že se to má počítat numericky, s iteračním krokem spojeným se zadaným počtem pokusů. Může být?

Offline

 

#5 24. 12. 2011 16:54

amadeus1337
Zelenáč
Příspěvky: 11
Reputace:   
 

Re: určitý integrál (metoda Monte Carlo)

v tomhle případě se nechytám a budu to potřebovat vysvětlit podrobněji.. ale určitě máš pravdu.

Offline

 

#6 25. 12. 2011 08:40

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: určitý integrál (metoda Monte Carlo)

↑ amadeus1337:

Pravděpodobně se očekává použití zmiňované metody ve smyslu, jak je uvedeno v odkazu (cca od 31. str.). Ať se podaří.

Offline

 

#7 25. 12. 2011 15:16

amadeus1337
Zelenáč
Příspěvky: 11
Reputace:   
 

Re: určitý integrál (metoda Monte Carlo)

dík za super materiál.. ale stejne se nechytam, na posledni prednasce nam proste jen rekli, že to máme zintegrovat a to je všechno, tenhle způsob integrování bohuze vubec neznam.

Když jdu popořadě, tak chápu že já se nacházim na intervalu od 8 do 10. Ale pak už nevim, jak určit hustotu ppsti f(x).. ten vzorec tam vidim, ale nevim jak to určit. A pak na slidu 33, jak tam je zlomek g(x) lomeno f(x) upravenej na g(x), to je kvuli tomu, ze f(x) integrované má být rovno jedné?

Nemůžeš mi sem prosím napsat nějaký "otrocký" postup?

Opravdu moc děkuju za help :))

Offline

 

#8 25. 12. 2011 20:13

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: určitý integrál (metoda Monte Carlo)

↑ amadeus1337:

Není za co.

Zintegrovat všechno, až na prostřední problémový součin "ln*sin", umíš. Problémová část se může počítat pouze numericky - podle mne odkazovanou metodou nejde počítat ručně (na tak velkém počtu pokusů), ale jen strojově - co na to kolegové? Děkuji.

Pokud vám řekli jen "zintegrovat", tak můžeš zvolit libovolnou numerickou metodu integrování, kterou umíš. Bohužel vidím jen kousek zadání, neznám vaše materiály a co jste probírali, tak pochybuji, že budu nějak užitečná.

Offline

 

#9 25. 12. 2011 20:41 — Editoval jarrro (25. 12. 2011 20:41)

jarrro
Příspěvky: 5491
Škola: UMB BB Matematická analýza
Reputace:   303 
Web
 

Re: určitý integrál (metoda Monte Carlo)

podľa mňa keďže je to monte carlo tak sa majú rovnomerne vygenerovať body (teda dvojice čísel) a skúmať kedy sú pod grafom tie budú dobré ich počet dať do pomeru s počtom všetkých to je približne pravdepodobnosť,že tie body sú dobré,lenže tá pravdepodobnosť je presne rovná tomu integrálu deleno celému tak to stačí porovnať a vyjadriť hodnotu integrálu alebo nie? podobne ako robili $x^2$ na strane 27 či koľkej v tom odkaze presne ho netreba počítať,lebo aj tak ho ideme len odhadovať oni to asi robili,aby si porovnsali s presným výsledkom


MATH IS THE BEST!!!

Offline

 

#10 25. 12. 2011 23:32

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: určitý integrál (metoda Monte Carlo)

↑ jarrro:

Zdravím, Jaro, děkuji.

Tuto metodu jsem nikdy prakticky nepoužila (umím pouze klasiku numerického integrování :-). Ale těch 10000 pokusů (jak uvádí ↑ amadeus1337:), snad nebudu generovat ručně? Zatím mi to celé téma přijde, že zjišťujeme, co vůbec chce budoucí systémový inženýr. Tak už jsme to nějak naznačili, už bych to přenechala povolanějším. Děkuji.

Offline

 

#11 26. 12. 2011 13:33

amadeus1337
Zelenáč
Příspěvky: 11
Reputace:   
 

Re: určitý integrál (metoda Monte Carlo)

celé zadání příkladu zní:

Pomocí simulačního experimentu typu Monte-Carlo vypočtěte hodnotu určitého integrálu funkce y = 105 + ln( 3 x)*sin( 3 x) + 5 x*cos( 9 x) na intervalu od 8 do 10 . Použijte 10 000 pokusů.

otázky: lze úlohu vypočítat analyticky:
            přibližná hodnota integrálu je:


Ještě přikládám přednášku, na které jsme dělali monte carlo. http://dl.dropbox.com/u/45814847/P11.ppt

Snad Vam to pomuze, ja z te prednasky moc moudry nejsem. Podle toho co píše jarrro, si taky myslim, ze ho nebudu pocitat, ale jen odhadovat.

Offline

 

#12 26. 12. 2011 15:31

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: určitý integrál (metoda Monte Carlo)

amadeus1337 napsal(a):

Podle toho co píše jarrro, si taky myslim, ze ho nebudu pocitat, ale jen odhadovat.

Děkuji, přednášku jsem přečetla, jak se ručně generuje 10000 náhodných čísel - nevím (tedy nevím, jakou techniku použiji pro "odhad"). Úlohu analyticky spočítat nejde - to už jsme konstatovali.

Jediné, co užitečného mohu udělat, změnit (upřesnit) název tématu. Zdar přeji.

Offline

 

#13 26. 12. 2011 15:54

amadeus1337
Zelenáč
Příspěvky: 11
Reputace:   
 

Re: určitý integrál (metoda Monte Carlo)

Mě napadá jedině zpracovat to nějakým způsobem v excelu.. jenomze postup v prvni prilozene prezentaci mi nejde a uz jsem vazne v koncich.

Jestli to jeste pomuze, tak moznosti jsou: $206,175; 216,32; 224,741; 209,178; 223,563; 229,071$.

Offline

 

#14 26. 12. 2011 19:40

amadeus1337
Zelenáč
Příspěvky: 11
Reputace:   
 

Re: určitý integrál (metoda Monte Carlo)

tak tenhle kalkulator mi vyrazne pomohl: http://www.zweigmedia.com/RealWorld/int … egral.html ty hodnoty z nej vychazely zhruba s odchylkou od nuly do dvou. Mne ho vypocital jako hodnotu 214,14.. Jsem rád, že jsem se dobral výsledku ale víc by mě zajímalo, jak to udelat rucne..

Offline

 

#15 26. 12. 2011 21:36

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: určitý integrál (metoda Monte Carlo)

Ano, Wolfram také zhruba tak vypočítal.

Pokud bych měla počítat ručně za použití doporučené metodiky, tak bych všechno, co jde vypočetla ručně - tedy až na "problémový prostřední". Výpočet "problémového" bych si ponechala na metodu Monte Carlo a teď potřebuji odhadnout do kterého obdélníku se mi cca dostává graf sin(3x)*ln(3x) na intervalu od x=8 do x=10 (jedna strana obdélníku je 2 jednotky).

Délku druhé strany obdélníku určím z maximální hodnoty funkce $h(x)=\sin (3x) \cdot \ln (3x)$. tedy klíčovým momentem se stává určení této hodnoty. Jelikož na intervalu od 8 do 10 funkce nabývá nulové hodnoty (pro sin(3x)=0) a se zápornými hodnotami by se mi operovat nechtělo, budu pomocí metody počítat určitý integrál $\int_{8}^{10}105+\ln (3x)\cdot \sin(3x)\mathrm{d}x$. Stanovím délku druhé strany obdélníku na 109 jednotek.

Tedy mám obdélník 2*109 a pomocí generátoru náhodných čísel budu vytvářet dvojice čísel - první číslo v intervalu od 8 do 10, druhé číslo v intervalu od 0 do 109. Dvojice mi tvoří souřadnici jednoho bodu v obdélníku. Hodnotu prvního čísla budu dosazovat místo x do $h(x)=105+\sin (3x) \cdot \ln (3x)$ a počítat h(x). Pokud hodnota druhého náhodného čísla z dvojice je menší, než vypočtené h(x), potom takový bod je pod křivkou a je "dobrý". Jinak je nad křivkou a "není příznivý". Spočtu procento "dobrých bodů" ze všech 10000 pokusů a dál už dne návodu )využití geometrické interpretace a geometrické pravděpodobnosti).

Zdroje chyb - především v tom, jak přesně odhadnu horní hranici obdélníku (maximální hodnotu funkce) a také, zda je rozumné používat zrovna +105.

Podrobněji asi už nenapíší - i tak, jak jsem popisovala, tak jsem v reálu neustále přerušována dotazy na "folkloristické teorie" a tak mi psát nejde (a folkloristické teorie jsou důležitější). Ať se podaří zorientovat.

Offline

 

#16 26. 12. 2011 22:31 — Editoval rughar (26. 12. 2011 22:34)

rughar
Příspěvky: 424
Škola: MFF UK
Pozice: Vědecký pracovník
Reputace:   27 
 

Re: určitý integrál (metoda Monte Carlo)

Ze skript, o kterých tu Jelena psala je vidět, že metoda Monte Carlo nám řekne následující věc:

Pokud máme v ploše nějakou významnou oblast, o které jsme schopni říci, kdy se nacházíme uvnitř a kdy venku, tak můžeme Monte Carlo metodou spočítat obsah této oblasti.

Tak tedy převedeme numerický výpočet integrálu na naši metodu Monte Carlo. Nejdřív si zvolíme oblast, kde b budueme metodu používat.  Typicky se volí obdélník. Mi si zvolíme obdélník o stranách 2 a 10. První hodnotu volíme podle šířky definičního oboru a druhou hodnotu podle intervalu, kde se nám tu pohybují obory hodnoty funkce. Je to někde mezi 100 a 110, proto délka 10 (toto je potřeba zkrátka odhadnout, musíme si být jistí, že nám funkce do našho obdélníku "vejde").

Dále necháme proběnout výpočet. Vygenerujeme dvě náhodná čísla, označíme třeba "a" a "b". První generejume náhodně z intervalu 8..10 a druhé generujeme z intervalu 100..110. Tím vlastně náhodě zvolíme pozici v obdélníku, o kterém jsem mluvil v předešlém odstavci.

Integrál de facto odpovídá obsahu plochy pod křivkou. A mi právě metodou Monte Carlo si necháváme spočítat, jaký je obsah plochy pod funkcí uvnitř námi zvoleného obdélníku. Musíme zjistit, zda náhodně vygenerovaný bod (a,b) padl do oblasti pod křivku, či ne. To ověříme podmínkou

105 + ln(3*a)*sin(3*a) < b

Pokud je tato nerovnost pro náš náhodně zvolený bod pravda, tak si někde bokem "uděláme čárku" a pokud ne, neprovedeme nic. Postup zopakujeme 10 000 krát. Podle toho, kolik jsme si udělali čárek zjistíme, kolik procent z našeho obdélníku odpovídá oblasti pod funkcí, tedy hodnotě našeho integrálu. Pokud by se nám stalo, že 4500 takto náhodně vygenerovaných bodů nám splní výše uvedenou podmínku, pak to znamená, že jsme naší numerickou metodou odhadli obsah pod funkcí na hodnotu

4500 / 10000 * obsah obdélníku = 0.45 * 2 * 10 = 9

To byl jen příklad, kolik by to třeba mohlo vyjít. Nyní to musíme dát ještě nějak do kupy. Naše metoda nám řekla, jaký je obsah pod funkcí pouze v obdélníku 8..10 a 100..110. Hodnota integrálu však odpovídá obsahu pod funkcí až k nule. Tedy je potřeba přičíst ještě hodnotu 2*100 = 200.

Malá diskuse k tomu, jaký obdélník (intervaly pro náhodná čísla a,b) volit. Je dobré vilit co nejmenší obdélník, do kterého se vleze naše funkce. A zároveň je dobré volit obdélník takovým způsobem, aby velmi přibližně platilo, že nám cca polovina bude vyhovovat podmínce (stačí od oka). Čím více dodržíme tato pravidla, tím nám metoda oznámí výsledek přesněji.

Takže návrh svého postupu napíšu ještě stručněji, do návrhu algorytmu

1) Hodnotu C nastavím na 0
2) Náhodně vygeneruji číslo A z intervalu 8..10
3) Náhodně vygeneruji číslo B z intervalu 100..110
4) Pokud 105 + ln(3*A)*sin(3*A) < B, tak k číslu C přičtu 1, jinak nepřičítám nic
5) Vracím se ke kroku 2 tak dlouho, dokud si kroky 2-4 nezopakuju 10000 krát
6) Výsledná hodnota integrálu je pak rovna 2*10*C/10000 + 200

Pochopitelně se jedná o numerickou metodu, tekže nebude zcela přesná. Mělo by yvelmi přibližně platit, že při tomto počtu pokusů bude mít metoda přesnost kolem 1 procenta ( je to přibližně 1/sqrt(n) )


Pozn. po editaci: Vlastně je to podobné tomu co píše Jelena, jen se neshodujeme ve voleném obdélníku. Dovolil jsem si navrhnout ten interval jinak. Pokud by se čísla generovala z intervalu 0..109 tak vše, co padne do intervalu 0..100 nám vlastně nepřinese žádnou informaci. Tam my víme, že je oblast pod funkcí. Efektivně nám tak do zjištění obsahu pod funkcí v případě Jeleny přispěje jen asi necelých 1000 bodů. Je lepší volit oblast jak jsem již psal, co nejvíce "těsně"

Tímto Jelenu mimochodem zdravím a přeji hezké svátky :-)


1 + 1 = 1 + 1
... a nebo taky ne

Offline

 

#17 27. 12. 2011 00:19

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: určitý integrál (metoda Monte Carlo)

↑ rughar:

Také hezký pozdrav (nemimochodem :-) a také přeji pohodové prožití závěru roku. Ještě děkuji za daleko podrobnější a přesnější výklad. Jak jsem psala, metodu Monte Carlo pro výpočet integrálu jsem ještě nikdy nepoužila, ale je to celkem pochopitelné a srozumitelné.

Samotné zadání je zábavné - je zřejmě, že na zvoleném intervalu dominantní plochu bude tvořit obdélník 2*105 a k tomu "nějaké drobné vlnky" ln(3x)*sin(3x) a x*cos(9x).

A to jsem pravě nevěděla, jak moc se mi chce zabývat posunem ln(3x)*sin(3x) nahoru po ose y, abych se nedostávala do záporných hodnot (tedy jakou část ze zadaných 105 mám přidat ke křivce a jakou jen nechat na "ruční výpočet" mimo numerickou metodu). Děkuji za podrobný rozbor k této volbě.

OT1: napsala jsem to trochu hopem - věnovala jsem se především čtení 182 str. z folkloristiky (kombinováno ruština/čeština), tak se podělím o perly: "Propp (to je výzkumník) otevřel jedinou strukturu kouzelné pohádky na syntagmatickém úrovní - našel invariantní soubor funkcí, lineární posloupnost těchto funkcí atd." a některé věty vůbec nechápeme ani česky, ani rusky, tak jsme si pomohly (s Hodnou dcerou) anglicky:-)

OT2: množné číslo osobního zájmena "já" je "my" a algoritmus ("algorytm" je polsky :-)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson