June 2, 2024, Sunday, 153

KADD 2012 Zadanie 3

From Łukasz Graczykowski

(Difference between revisions)
Jump to: navigation, search
(Zadanie)
(Uwagi)
 
(21 intermediate revisions not shown)
Line 7: Line 7:
Dana jest gęstość prawdopodobieństwa:
Dana jest gęstość prawdopodobieństwa:
-
<math>f(x,y)=\left\lbrace \begin{array}{ll} cx^{m}y^{n},&0\leqslant x\leqslant 1 \,\wedge\, 0\leqslant y\leqslant 1\\0,&\text{pozostale przypadki}\end{array}\right.</math>
+
[[File:Wzor_Lab03_Kadd2012.png]]
Należy dla parametrów '''m=1''' i '''n=2''':
Należy dla parametrów '''m=1''' i '''n=2''':
Line 18: Line 18:
== Uwagi ==
== Uwagi ==
* Wszystkie wielkości (stałą c, dystrybuantę, gęstości brzegowe) wyznaczamy numerycznie np. wykorzystując metodę <code>Integral</code>.
* Wszystkie wielkości (stałą c, dystrybuantę, gęstości brzegowe) wyznaczamy numerycznie np. wykorzystując metodę <code>Integral</code>.
-
* Skrytp powienien być napisany w taki sposób aby wykonywał obliczenia dla dowolnego m i n.
+
* Skrypt powienien być napisany w taki sposób aby wykonywał obliczenia dla dowolnego m i n.
-
* Skrypt nie działąjący, tzn. zawierający błędy składni nie będzie podlegał ocenie.  
+
* Należy oznaczyć i podpisać wszystkie osie.
-
* Za elementy, które są obliczane niepoprawnie przyznawane będzie 0 pkt. Proszę się upewnić, że rysowane krzywe lub powierzchnie są prawidłowe.
+
* Funkcję rozkladu gestosci (obiekt TF2) tworzymy poprzez wykorzystanie konstruktora zawierającego wskaźnik na funkcję (odpowiednio zdefiniowanej dla wszystkich wartości x i y):
 +
double fcn(double *x, double *params)
 +
 
 +
TF2(const char* name, void* fcn, Double_t xmin = 0, Double_t xmax = 1, Double_t ymin = 0, Double_t ymax = 1, Int_t npar = 0)
 +
 
 +
Przykład:
 +
double function(double *x, double *params)
 +
{
 +
    if(x[0]>=0 && x[1]>=0)
 +
      return params[0]*x[0]*x[1];
 +
    return 0;
 +
}
 +
...
 +
double xmin = 0;
 +
double xmax = 10;
 +
double ymin = 0;
 +
double xmax = 10;
 +
int nparams = 1;
 +
TF2 * fun1 = new TF2("fun1",function,xmin,xmax,ymin,ymax,nparams);
== Wynik ==
== Wynik ==
Line 28: Line 46:
Output:
Output:
  Wspolczynnik normujacy c=6
  Wspolczynnik normujacy c=6
-
 
-
== Szablon skryptu ==
 
-
* [http://tja.if.pw.edu.pl/~gabrielw/pdfs/dydaktyka/kadd_2008/lab3.cxx lab3.cxx]
 

Latest revision as of 13:03, 5 March 2012

Contents


Zadanie

Dana jest gęstość prawdopodobieństwa:

Wzor Lab03 Kadd2012.png

Należy dla parametrów m=1 i n=2:

  • wyznaczyć stałą c w taki sposób aby rozkład gęstości był unormowany (1pkt)
  • narysować gęstość prawdopodobieństwa f(x,y) (1pkt)
  • wyznaczyć i narysować dystrybuante F(x,y) (1pkt)
  • wyznaczyć i narysować gęstość brzegową g(x) (1pkt)
  • wyznaczyć i narysować gęstość brzegową h(y) (1pkt)

Uwagi

  • Wszystkie wielkości (stałą c, dystrybuantę, gęstości brzegowe) wyznaczamy numerycznie np. wykorzystując metodę Integral.
  • Skrypt powienien być napisany w taki sposób aby wykonywał obliczenia dla dowolnego m i n.
  • Należy oznaczyć i podpisać wszystkie osie.
  • Funkcję rozkladu gestosci (obiekt TF2) tworzymy poprzez wykorzystanie konstruktora zawierającego wskaźnik na funkcję (odpowiednio zdefiniowanej dla wszystkich wartości x i y):
double fcn(double *x, double *params)
TF2(const char* name, void* fcn, Double_t xmin = 0, Double_t xmax = 1, Double_t ymin = 0, Double_t ymax = 1, Int_t npar = 0)

Przykład:

double function(double *x, double *params)
{
   if(x[0]>=0 && x[1]>=0)
     return params[0]*x[0]*x[1];
   return 0;
}
...
double xmin = 0;
double xmax = 10;
double ymin = 0;
double xmax = 10;
int nparams = 1;
TF2 * fun1 = new TF2("fun1",function,xmin,xmax,ymin,ymax,nparams);

Wynik

Wykresy: Zad03 KADD2012.png

Output:

Wspolczynnik normujacy c=6