
problém byl vždy s řešením prostředního integrálu. děkuji všem za pomoc
Offline
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
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
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
v tomhle případě se nechytám a budu to potřebovat vysvětlit podrobněji.. ale určitě máš pravdu.
Offline
↑ 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
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
↑ 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
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
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
Offline
↑ 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
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
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
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:
.
Offline
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
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
. 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
. 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
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
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 :-)
Offline
↑ 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