Zbudujemy najpierw listę gwiazd: (%i1) ListaGwiazdy : [Syriusz
Transkrypt
Zbudujemy najpierw listę gwiazd: (%i1) ListaGwiazdy : [Syriusz
Zbudujemy najpierw listę gwiazd: (%i1) ListaGwiazdy : [Syriusz, Wega, Betelgeza, Antares, Rigel, Deneb, VYCanisMajoris, NMLCygni]; (%o1) [Syriusz, W ega, Betelgeza, Antares, Rigel, Deneb, V Y CanisM ajoris, N M LCygni] Pamiętajmy, że w Maximie predefiniowany jest jedynie logarytm naturalny. Logarytm dziesiętny musimy sami zdefiniować.: (%i2) log10(x):=log(x)/log(10); (%o2) log10 (x) := log (x) log (10) Lista (nazwana przez nas ListaParalaksa ) jest listą paralaks heliocentrycznych gwiazd (w sekundach kątowych), której elementy odpowiadają kolejności elementów ListaGwiazdy (%i3) ListaParalaksa : [0.37921, 0.13023, 0.00655, 0.00589, 0.00378, 0.00231, 0.00083, 0.00062]; (%o3) [0.37921, 0.13023, 0.00655, 0.00589, 0.00378, 0.00231, 8.3 10−4 , 6.2 10−4 ] Wprowadzamy listę jasności obserwowanych gwiazd (w wielkościach gwiazdowych) (%i4) ListaJanosciObs :[ -1.35, 0.0, 0.45, 1.05, 0.15, 1.25, 6.5, 16.60]; (%o4) [−1.35, 0.0, 0.45, 1.05, 0.15, 1.25, 6.5, 16.6] Tworzymy listę odległości (w parsekach) (%i5) ListaOdleglosci:1/ListaParalaksa; (%o5) [2.637061258933045, 7.678722260615833, 152.6717557251908, 169.7792869269949, 264.5502645502646, 432.9004329004329, 1204.819277108434, 1612.903225806452] Tworzymy listę odległości (w latach świetlnych) (%i6) ListaOdleglosci1:ListaOdleglosci*3.26; (%o6) [8.596819704121726, 25.03263456960761, 497.709923664122, 553.4804753820033, 862.4338624338624, 1411.255411255411, 3927.710843373493, 5258.064516129032] Tworzymy listę jasności absolutnych (%i7) ListaJasnosciAbsolutne:ListaJanosciObs+5-5*log10(ListaOdleglosci); 10.19226580501263 25.14145114667488 4.84832568820485 ,5 − , 5.45 − , log (10) log (10) log (10) 25.67249640659321 27.8901563467532 30.35253877224217 6.05 − , 5.15 − , 6.25 − , log (10) log (10) log (10) 35.47042428586815 36.92895539962569 11.5 − , 21.6 − ] log (10) log (10) (%o7) [3.65 − W postaci dziesiętnej: 1 (%i8) float(%); (%o8) [1.544398907142848, 0.5735552027918125, −5.468793500041083, −5.099423526064492, − 6.96254100081387, −6.931940100539276, −3.904609538119626, 5.561958447491271] Zaokrąglamy (%i9) fpprintprec:3; (%o9) 3 Tworzymy listę, której elementami są listy dwuelementowe. Pierwszym elementem listy jest nazwa gwiazdy, drugim jest jej jasnośc absolutna. (%i10) ff:float(makelist([ListaGwiazdy[i],ListaJasnosciAbsolutne[i]],i,1,8)); (%o10) [[Syriusz, 1.54], [W ega, 0.574], [Betelgeza, −5.47], [Antares, −5.1], [Rigel, −6.96], [Deneb, −6.93], [V Y CanisM ajoris, −3.9], [N M LCygni, 5.56]] Porządkujemy tworząc dwuargumentową funkcję uporządkuj. Porządkowanie przeprowadzane jest ze względu na drugi element podlist (%i11) uporzadkuj(a,b):=a[2]<b[2]; (%o11) uporzadkuj (a, b) := a2 < b2 (%i12) ff1:sort(ff,uporzadkuj); (%o12) [[Rigel, −6.96], [Deneb, −6.93], [Betelgeza, −5.47], [Antares, −5.1], [V Y CanisM ajoris, −3.9], [W ega, 0.574], [Syriusz, 1.54], [N M LCygni, 5.56]] (%i13) funmake(’matrix,ff1); Rigel −6.96 Deneb −6.93 Betelgeza −5.47 Antares −5.1 (%o13) V Y CanisM ajoris −3.9 W ega 0.574 Syriusz 1.54 N M LCygni 5.56 2