|
|
| (4 intermediate revisions not shown) |
| Line 1: |
Line 1: |
| | + | <!-- |
| | == Zadanie == | | == Zadanie == |
| | '''Metoda najmniejszych kwadratów''' (5 pkt.) | | '''Metoda najmniejszych kwadratów''' (5 pkt.) |
| Line 4: |
Line 5: |
| | Korzystając z metody najmniejszych kwadratów, dopasować do otrzymanych danych wielomiany stopnia <code>n=0..5</code>. | | Korzystając z metody najmniejszych kwadratów, dopasować do otrzymanych danych wielomiany stopnia <code>n=0..5</code>. |
| | | | |
| - | * Proszę wczytać dane z [http://hirg.if.pw.edu.pl/~mszymanski/kadd/dane_mnk.dat pliku]. Pochodzą one z eksperymentu zderzeń sprężystych ujemnie naładowanych mezonów K z protonami, przy ustalonej energii mezonu K. W pierwszej kolumnie znajdują się wartości cosinusa kąta rozpraszania w układzie środka masy, a w drugiej kolumnie odpowiadające im liczby zderzeń. Jako błędy pomiarów należy przyjąć pierwiastek kwadratowy z liczby obserwacji. Jeżeli otrzymany rozkład ma postać wielomianu, to wyznaczenie jego stopnia umożliwia wyznaczenie spinowych liczb kwantowych występujących stanów pośrednich ("Analiza danych", S.Brandt, Przykład 9.2.). | + | * Proszę wczytać dane z [http://www.if.pw.edu.pl/~lgraczyk/KADD2016/lab11/dane.dat pliku]. Pochodzą one z eksperymentu zderzeń sprężystych ujemnie naładowanych mezonów K z protonami, przy ustalonej energii mezonu K. W pierwszej kolumnie znajdują się wartości cosinusa kąta rozpraszania w układzie środka masy, a w drugiej kolumnie odpowiadające im liczby zderzeń. Jako błędy pomiarów należy przyjąć pierwiastek kwadratowy z liczby obserwacji. Jeżeli otrzymany rozkład ma postać wielomianu, to wyznaczenie jego stopnia umożliwia wyznaczenie spinowych liczb kwantowych występujących stanów pośrednich ("Analiza danych", S.Brandt, Przykład 9.2.). |
| | | | |
| | * Proszę zaimplementować funkcję realizującą procedurę dopasowania metodą najmniejszych kwadratów. W tym celu należy wykorzystać wzory (ich wyprowadzenie znajduje się w [http://if.pw.edu.pl/~kisiel/kadd/Wyklad11.pdf wykładzie 11] oraz w [http://www.if.pw.edu.pl/~majanik/files/wiel.ps instrukcji]): | | * Proszę zaimplementować funkcję realizującą procedurę dopasowania metodą najmniejszych kwadratów. W tym celu należy wykorzystać wzory (ich wyprowadzenie znajduje się w [http://if.pw.edu.pl/~kisiel/kadd/Wyklad11.pdf wykładzie 11] oraz w [http://www.if.pw.edu.pl/~majanik/files/wiel.ps instrukcji]): |
| Line 32: |
Line 33: |
| | // wsp - tablica do ktorej nalezy wpisac wartosci wyznaczonych wspolczynnikow ([[File:wzor10.png]]) | | // wsp - tablica do ktorej nalezy wpisac wartosci wyznaczonych wspolczynnikow ([[File:wzor10.png]]) |
| | // bswp - tablica do ktorej nalezy wpisac bledy wyznaczonych wspolczynnikow (pierwiastki kwadratowe z elementów diagonalnych macierzy [[File:wzor11.png]]) | | // bswp - tablica do ktorej nalezy wpisac bledy wyznaczonych wspolczynnikow (pierwiastki kwadratowe z elementów diagonalnych macierzy [[File:wzor11.png]]) |
| - | // wsp_pop - tablica do ktorej nalezy wpisac wartosci wspolczynnikow poprawionych (macierz eta)
| + | double dopasuj (int st, int n, double *tj, double *yj, double *sigmaj, double *wsp, double *bwsp); |
| - | double dopasuj (int st, int n, double *tj, double *yj, double *sigmaj, double *wsp, double *bwsp, double *wsp_pop); | + | |
| | | | |
| | Do zaimplementowania powyższych wzorów wygodnie jest skorzystać z klasy [http://www.slac.stanford.edu/comp/unix/package/cernroot/30106/TMatrixD.html TMatrixD]. Przykłady jej użycia: | | Do zaimplementowania powyższych wzorów wygodnie jest skorzystać z klasy [http://www.slac.stanford.edu/comp/unix/package/cernroot/30106/TMatrixD.html TMatrixD]. Przykłady jej użycia: |
| Line 56: |
Line 56: |
| | == Wynik == | | == Wynik == |
| | | | |
| - | [[File:mnk.png]] | + | [[File:mnk_2.png]] |
| | | | |
| | Output: | | Output: |
| | | | |
| - | Dopasowanie wielomianem stopnia 0
| + | Dopasowanie wielomianem stopnia 0 |
| - | M = 833.548
| + | M = 833.548 |
| - | wsp[0] = 57.8452 +- 2.4051
| + | x0 = 57.8452 +- 2.4051 |
| - | Liczba stopni swobody=9
| + | Liczba stopni swobody=9 |
| - | Poziom istotnosci=0.01
| + | Kwantyl=21.666 |
| - | Stopien 0: odrzucamy
| + | Poziom istotnosci=0.01 |
| | + | Stopien 0: odrzucamy |
| | | | |
| - | Dopasowanie wielomianem stopnia 1
| + | Dopasowanie wielomianem stopnia 1 |
| - | M = 585.449
| + | M = 585.449 |
| - | wsp[0] = 82.6551 +- 2.87498
| + | x0 = 82.6551 +- 2.87498 |
| - | wsp[1] = 99.0998 +- 6.29159
| + | x1 = 99.0998 +- 6.29159 |
| - | Liczba stopni swobody=8
| + | Liczba stopni swobody=8 |
| - | Wartosc krytyczna=20.0902
| + | Kwantyl=20.0902 |
| - | Poziom istotnosci=0.01
| + | Poziom istotnosci=0.01 |
| - | Stopien 1: odrzucamy
| + | Stopien 1: odrzucamy |
| | | | |
| - | Dopasowanie wielomianem stopnia 2
| + | Dopasowanie wielomianem stopnia 2 |
| - | M = 36.4096
| + | M = 36.4096 |
| - | wsp[0] = 47.267 +- 3.24753
| + | x0 = 47.267 +- 3.24753 |
| - | wsp[1] = 185.955 +- 7.30235
| + | x1 = 185.955 +- 7.30235 |
| - | wsp[2] = 273.612 +- 11.6771
| + | x2 = 273.612 +- 11.6771 |
| - | Liczba stopni swobody=7
| + | Liczba stopni swobody=7 |
| - | Wartosc krytyczna=18.4753
| + | Kwantyl=18.4753 |
| - | Poziom istotnosci=0.01
| + | Poziom istotnosci=0.01 |
| - | Stopien 2: odrzucamy
| + | Stopien 2: odrzucamy |
| | | | |
| - | Dopasowanie wielomianem stopnia 3
| + | Dopasowanie wielomianem stopnia 3 |
| - | M = 2.84989
| + | M = 2.84989 |
| - | wsp[0] = 37.949 +- 3.62403
| + | x0 = 37.949 +- 3.62403 |
| - | wsp[1] = 126.546 +- 12.5894
| + | x1 = 126.546 +- 12.5894 |
| - | wsp[2] = 312.018 +- 13.4278
| + | x2 = 312.018 +- 13.4278 |
| - | wsp[3] = 137.585 +- 23.7499
| + | x3 = 137.585 +- 23.7499 |
| - | Liczba stopni swobody=6
| + | Liczba stopni swobody=6 |
| - | Poziom istotnosci=0.01
| + | Kwantyl=16.8119 |
| - | Stopien 3: akceptujemy
| + | Poziom istotnosci=0.01 |
| | + | Stopien 3: akceptujemy |
| | | | |
| - | Dopasowanie wielomianem stopnia 4
| + | Dopasowanie wielomianem stopnia 4 |
| - | M = 1.68602
| + | M = 1.68602 |
| - | wsp[0] = 39.6179 +- 3.94036
| + | x0 = 39.6179 +- 3.94036 |
| - | wsp[1] = 119.102 +- 14.3563
| + | x1 = 119.102 +- 14.3563 |
| - | wsp[2] = 276.49 +- 35.5643
| + | x2 = 276.49 +- 35.5643 |
| - | wsp[3] = 151.91 +- 27.2096
| + | x3 = 151.91 +- 27.2096 |
| - | wsp[4] = 52.5999 +- 48.7566
| + | x4 = 52.5999 +- 48.7566 |
| - | Liczba stopni swobody=5
| + | Liczba stopni swobody=5 |
| - | Poziom istotnosci=0.01
| + | Kwantyl=15.0863 |
| - | Stopien 4: akceptujemy
| + | Poziom istotnosci=0.01 |
| | + | Stopien 4: akceptujemy |
| | | | |
| - | Dopasowanie wielomianem stopnia 5
| + | Dopasowanie wielomianem stopnia 5 |
| - | M = 1.66265
| + | M = 1.66265 |
| - | wsp[0] = 39.8786 +- 4.29351
| + | x0 = 39.8786 +- 4.29351 |
| - | wsp[1] = 121.384 +- 20.7054
| + | x1 = 121.384 +- 20.7054 |
| - | wsp[2] = 273.188 +- 41.6103
| + | x2 = 273.188 +- 41.6103 |
| - | wsp[3] = 136.571 +- 103.954
| + | x3 = 136.571 +- 103.954 |
| - | wsp[4] = 56.8995 +- 56.2858
| + | x4 = 56.8995 +- 56.2858 |
| - | wsp[5] = 16.7294 +- 109.424
| + | x5 = 16.7294 +- 109.424 |
| - | Liczba stopni swobody=4
| + | Liczba stopni swobody=4 |
| - | Poziom istotnosci=0.01
| + | Kwantyl=13.2767 |
| - | Stopien 5: akceptujemy
| + | Poziom istotnosci=0.01 |
| | + | Stopien 5: akceptujemy |
| | + | --> |