May 3, 2025, Saturday, 122

KADD 2012 Zadanie 8

From Łukasz Graczykowski

(Difference between revisions)
Jump to: navigation, search
Line 9: Line 9:
== Zadanie ==
== Zadanie ==
''Część pierwsza'': '''sploty funkcji''' (2 pkt.)
''Część pierwsza'': '''sploty funkcji''' (2 pkt.)
 +
Jako zadnie należy zaimplementować funkcję wykonującą splot <code>n</code> zadanych rozkładów (2 pkt):
 +
// f - tablica wskaznikow na wskazniki do obiektow TF1, rozklady skladowe
 +
// k - wymiar tablicy f
 +
// h - histogram do ktorego wrzucamy wynik splotu
 +
// n - liczba losowanych punktow
 +
void splot(TF1 **f, int k, TH1D *h, int n);
 +
Zadane rozkłady reprezentowane są przez obiekty <code>TF1</code>. Wynik splotu reprezentowany jest przez obiekt <code>TH1D</code>.
 +
 +
Następnie należy:
 +
* wykonać i narysować splot dwóch rozkładów jednorodnych U(0.0,2.0) i U(0.0,0.2), po czym dodać jeszcze trzeci rozkład jednorodny U(0.0,0.2),
 +
* wykonać i narysować splot 2 rozkładów normalnych N(1.0,0.2), N(3.0,0.5) oraz policzyć średnią i wariancję powstałego rozkładu.
''Część druga'': '''tablica Galtona''' (3 pkt.)
''Część druga'': '''tablica Galtona''' (3 pkt.)
 +
Jako zadanie należy napisać skrytp symulujący deskę Galtona. Parametrami skryptu powinny być:
 +
* <code>l</code> - liczba prób (kul)
 +
* <code>n</code> - liczba rzędów
 +
* <code>p</code> - prawdopodobieństwo ruchu kuli w prawo (sukcesu)
 +
 +
Dla zadanych wartości parametrów skryptu należy narysować histogram rozkładu kul otrzymany w wyniku symulacji oraz przewidywanie teoretyczne.  Symulację wykonujemy dla 3 różnych zestawów parametrów dobranych w taki sposób aby otrzymać rozkład dwumianowy.
 +
 +
W ramach zadania należy:
 +
* zaimplementować funkcję lub klase symulującą deskę Galtona np:
 +
 +
void deskaGaltona(TH1D * h, int n, int l, double p);
 +
* dobrać parametry <code>n</code> i <code>p</code> w taki sposób aby otrzymać '''rozkład dwumianowy'''. Na jednym wykresie umieścić wynik symulacji i przewidywanie teoretyczne.
== Uwagi ==
== Uwagi ==

Revision as of 08:46, 20 April 2012

Contents

Zadanie

Część pierwsza: sploty funkcji (2 pkt.) Jako zadnie należy zaimplementować funkcję wykonującą splot n zadanych rozkładów (2 pkt):

// f - tablica wskaznikow na wskazniki do obiektow TF1, rozklady skladowe
// k - wymiar tablicy f
// h - histogram do ktorego wrzucamy wynik splotu
// n - liczba losowanych punktow
void splot(TF1 **f, int k, TH1D *h, int n);

Zadane rozkłady reprezentowane są przez obiekty TF1. Wynik splotu reprezentowany jest przez obiekt TH1D.

Następnie należy:

  • wykonać i narysować splot dwóch rozkładów jednorodnych U(0.0,2.0) i U(0.0,0.2), po czym dodać jeszcze trzeci rozkład jednorodny U(0.0,0.2),
  • wykonać i narysować splot 2 rozkładów normalnych N(1.0,0.2), N(3.0,0.5) oraz policzyć średnią i wariancję powstałego rozkładu.

Część druga: tablica Galtona (3 pkt.) Jako zadanie należy napisać skrytp symulujący deskę Galtona. Parametrami skryptu powinny być:

  • l - liczba prób (kul)
  • n - liczba rzędów
  • p - prawdopodobieństwo ruchu kuli w prawo (sukcesu)

Dla zadanych wartości parametrów skryptu należy narysować histogram rozkładu kul otrzymany w wyniku symulacji oraz przewidywanie teoretyczne. Symulację wykonujemy dla 3 różnych zestawów parametrów dobranych w taki sposób aby otrzymać rozkład dwumianowy.

W ramach zadania należy:

  • zaimplementować funkcję lub klase symulującą deskę Galtona np:
void deskaGaltona(TH1D * h, int n, int l, double p);
  • dobrać parametry n i p w taki sposób aby otrzymać rozkład dwumianowy. Na jednym wykresie umieścić wynik symulacji i przewidywanie teoretyczne.

Uwagi

Wynik

Output: