MMM-Tehtäväportaali

 

 

Menu:

Todennäköisyys ja tilastotiede MATLABissa.

Käytön idea: kun löydät mieleisesi tehtävän, sen alapuolella on linkki tex-tiedostoon. Lataa tiedosto, ja liitä se pääsivulta löytyvään harjoituspohjaan.

  • 1. 
    mlT004.tex
    Laskemme yksikkökolmion T (virittävät pisteet (0, 0), (1, 0), (0, 1)) pinta-alan tasaisesti jakautuneilla satunnaisluvuilla Monte-Carlo menetelmää mukaillen:
    1.
    Generoi N tasaisesti jakautunutta satunnaislukuparia (x1,x2) yksikköneliöön.
    2.
    Selvitä, kuinka moni valitsemistasi satunnaispisteistä osuu kolmion T sisälle. Havainnollista tätä piirtämällä T:n sisälle osuvat pisteet ja T:n ulkopuoliset pisteet samaan kuvaan eri väreillä.
    3.
    Approksimoi T:n alaa laskemalla kolmion sisälle osuneiden pisteiden osuus kaikista valituista. Kokeile menetelmän tarkkuutta eri arvoilla N.

    Vihje:  Funktion rand generoi tasaisesti jakautuneita satunnaislukuja.

    On useita keinoja tutkia, osuuko piste kolmion sisään.

    1.
    Voit kirjoittaa tarkistuksen silmukkaan, ja tehdä päätöksen kontrollirakenteilla. Vähiten suositeltava tapa (mutta opettaa kuitenkin ohjausrakenteita, selkeästi Matlabin “väärinkäyttöä”).
    2.
    Muodosta saunnaisvektorille ehto kolmioon kuulumiselle ja käytä loogista indeksointia. Oikeaoppinen Matlab-tyyli (tehokas sekä ajatuksellisesti että suoritusajassa).
    3.
    Funktio inpolygon, joka on huomattavan monipuolinen funktio. Yleistyskelpoinen erilaisille monikulmioalueille. Kuuluu pikemminkin luokkaan “hyvä tietää” kuin tässä tarkoitettuun Matlab-perusoppiin. Mutta on mielenkiintoinen ja kokeilemisen arvoinen tässäkin yhteydessä.

    Pisteitä piirretään plot-komennolla optioita hyväksikäyttäen: esimerkiksi plot([3 2],[4 1],’.r’) piirtää pisteet (3,4),(2,1) punaisina pisteinä.

    Avainsanat: mlTodari, mlPerusteet, matlabperusteet, Monte Carlo, looginen ineksinti, satunnaisluvut

    Tehtava

    Ratkaisu

  • 2. 
    mlT005.tex
    (Osa kaavoista epäselviä html:ssä, katso pdf-tehtäviä!)
    Monte Carlo-approksimaatio π:lle.

    Piirrä yksikköneliö ja sen sisään reunoja sivuava ympyrä. Neliön (yleensä monikulmion) piirtoa varten voit kirjoittaa nurkkapisteiden x-koordinaatit vektoriin x ja vastaavat y-koordinaatit vektoyiin y. (Muista, että loppupisteeksi pitää ottaa alkupiste uudestaan, jotta kuvion viimeinenkin särmä piirtyy.)

    Heitetään tikkaa kuvan mukaiseen tauluun (tikat eivät eksy taulua ympäröivään neliön ulkopuolelle, ehkä tähän oikeasti tarvitaan ”satunnaisrobotti”). Jos tikkojen osumatarkuus on satunnaismuuttuja, joka on tasajakautunut neliöllä
    1 < x <, 1 < y < 1, niin ympyrään ja neliöön osuneiden tikkojen lukumäärän suhde lähenee lukua π∕4, kun satunnaisheittojen lukumäärä kasvaa. Miksi?

    Generoi tasajakautuneita pistepareja ja laske ko. osuus.

    Piirrä tikkatauluun osuneet pisteet jollain värillä ja ulkopuolelle jääneet jollain toisella.

    Tee työstä doku (tottakai), julkaise pdf-tiedostona.

    Vihje:  Avainidea: (Anteeksi, jos riistin keksimisen ilon!) X.^2+Y.^2 ¡= 1 ja bittivektorin ykkösten lukumäärän laskeminen

    Avainsanat: mlTodari, mlPerusteet, matlabperusteet, Monte Carlo, looginen ineksointi, satunnaisluvut

    Tehtava

    Ratkaisu

    PDF ratkaisusta

  • 3. 
    Olkoot Fn satunnaismuuttuja joka kuvaa kiinteiden pisteiden lukumäärää satunnaispermutaatiossa (so. alkiot joiden paikka ei muutu permutaatiossa).
    • kirjoita funktio joka ottaa argumenttina kokonaisluvun n ja palautaa k-pituisen otoksen jakaumasta Fn.
    • Generoi otoksia jakaumasta Fn eri arvoilla n.
    • Piirrä histogrammit eri otoksista.
    • Voidaanko histogrammien perusteella päätellä, mikä on E[Fn]?
    • Laske E[Fn]
    Vihje:  Käytä hyväksesi odotusarvon lineaarisuutta laskiessasi odotusarvoa E[Fn].

    Tehtava

Työkaluja