Oszacowanie masy supermasywnej czarnej dziury Sgr A* w centrum Drogi Mlecznej

Spis treści
Zadania:

Zadanie 4. Przygotowanie arkusza Excela do określenia parametrów orbity i wyliczenia masy

Nasze ćwiczenie możemy rozwiązać korzystając z programu Microsoft Excel

Pierwszym krokiem aby tego dokonać należy wprowadzić do arkusza współrzędne gwiazdy S2. Arkuszowi, w którym znajdują się dane nadajemy nazwę "Dane". Aby to zrobić najlepiej kliknąć dwa razy na dole okna programu Excel, w którym znajdują się zakładki. W wersji polskiej programu jest to "Arkusz1","Arkusz2" itd. Nazwa "Arkusz1" nic nam nie mówi, dlatego najlepiej zmienić jej nazwę aby potem łatwiej było pracować z danymi.

Wybieramy kolejny wolny arkusz i nadajemy mu nazwę "Dopasowanie". Gdy już to zrobimy możemy przystąpić do utworzenia wykresu punktowego punktów odpowiadających kolejnym współrzędnym. Robimy to zaznaczając dowolne wolne miejsce w arkuszu "Dopasowanie" i wybieramy w menu Wstaw->Wykres... W oknie który nam się wyświetli wybieramy typ wykresu XY (Punktowy). Dajemy Dalej... i pokazuje się nam kolejne okno. W pierwszej zakładce "Zakres danych" niczego nie zmieniamy, natomiast w zakładce "Serie" w polu "Wartości X" i "Wartości Y" wybieramy współrzędne x-owe i y-owe naszych danych z arkusza "Dane". Naciskając "Zakończ" mamy gotowy wykres. Jedyne czego brakuje to słupków błędów co ustawiamy w opcji "Formatuj serie danych".

W arkuszu "Dopasowanie" będą zmieniane parametry orbity (współrzędne x,y środka elipsy orbity, wielka półoś, mała półoś, kąt nachylenia elipsy). Dlatego też w arkuszu tym, w wolnym miejscu wybieramy pola, w których będziemy przechowywać wartości parametrów. Najlepiej do każdego z tych pól dodać etykietę, żeby było wiadomo co dana wartość reprezentuje. Korzystając z paska narzędzi "Formularze" dodajemy do każdego pola po 2 przyciski. Jednym będziemy zwiększać wartość parametru o 0,001, a drugim zmniejszać. Aby przyciski działały musimy wykorzystać makra VB. Tworzymy do każdego przycisku nowe makro, np:

Sub Przycisk1_Kliknięcie()
Arkusz1.Cells(9, 2).Value = Arkusz1.Cells(9, 2).Value - 0.001
End Sub


Gdy już wykonamy wszystkie przyciski możemy przejść do wykonania arkusza "Obliczenia". W arkuszu tym będziemy wykonywać wszystkie obliczenia, które będą wymagane do nakreślenia punktów dopasowanej elipsy. Wykorzystać tu należy wzory z punktu 3. na współrzędne punktu elipsy o środku w dowolnym punkcie i dowolnym obrocie. Otrzymawszy współrzędne punktów dopasowania dodajemy serie danych do wykresu na arkuszu "Dopasowanie".

Aby ocenić "jakość" dopasowania w arkuszu "Dopasowanie" wybieramy wolne miejsce i nadajemy mu nazwę "Odległość punktów od elipsy". W polu poniżej będzie wyliczana sumaryczna odległość najbliższych punktów na dopasowanej elipsie do punktów pomiarowych. Przykładowy kod VB, który to wykona wygląda tak:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Arkusz1.Cells(9, 2) Or Target = Arkusz1.Cells(9, 4) Or Target = Arkusz1.Cells(9, 7) Or Target = Arkusz1.Cells(20, 3) Or Target = Arkusz1.Cells(20, 5) Then
Dim dane_x, dane_y As Double
Dim licznik1, licznik2
Dim el_x, el_y, odl, odl_min As Double
Dim suma, min As Double
suma = 0
For licznik1 = 0 To 18 //przelatujemy przez wszystkie dane
dane_x = Arkusz3.Cells(6 + licznik1, 3).Value //do zmiennej dane_x wczytujemy dane z komorki
dane_y = Arkusz3.Cells(6 + licznik1, 4).Value
odl_min = 100
For licznik2 = 0 To 99 //idziemy po wszyskich punktach dopasowania
el_x = Arkusz2.Cells(11 + licznik2, 5).Value //wczytujemy wspolrzedne punktow dopasowania
el_y = Arkusz2.Cells(11 + licznik2, 6).Value
odl = Sqr((el_x - dane_x) * (el_x - dane_x) + (el_y - dane_y) * (el_y - dane_y)) //liczymy odleglosc punktow
If (odl < odl_min) Then //jesli odleglosc jest mniejsza od najmniejszej odleglosci to
odl_min = odl //nowa najmniejsza odleglosc jest rowna tej odleglosci
End If
Next licznik2
suma = suma + odl_min //sumujemy odleglosci
Next licznik1
Arkusz1.Cells(35, 2).Value = suma //umieszczamy w odpowiedniej komorce wynik
End If
End Sub

Wybieramy kolejny pusty arkusz i nadajemy mu nazwę "Okres obiegu". Liczymy w nim pola wodzące pomiędzy kolejnymi punktami na dopasowanej elipsie najbliższe punktom pomiarowym i liczymy okres obiegu dla wszystkich 19 punktów pomiarowych. Otrzymane wyniki uśredniamy.

Validated by HTML Validator (based on Tidy)