Anda di halaman 1dari 3

import 

numpy as np # import numpy agar memiliki kemampuan untuk membentuk objek N-dimensional array.
from math import sin, cos, pi # berfungsi untuk menjalankan fungsi trigonometri.
from prettytable import PrettyTable # berfungsi untuk melakukan visualisasi tabel.
from scipy.integrate import quad, trapz, simps # berfungsi untuk melakukan integrasi tunggal, integrasi aturan Trapezoidal, dan integra
import scipy.interpolate # berfungsi untuk membuat fungsi berdasarkan data points yang tetap.
import matplotlib.pyplot as plt # import matplotlib.pyplot untuk melakukan visualisasi data.
import pandas as pd # import pandas untuk melakukan proses analisis data.
from scipy.interpolate import interp1d # berfungsi untuk melakukan interpolasi data.
from scipy.optimize import curve_fit # berfungsi untuk menghasilkan nilai optimal untuk fungsi pemetaan.

#10320023
#Muhammad Akmal Husain

23%3

No. 2 Epsilon Hyadrae

#Pendefinisian Presamaan Regresi yang digunakan
def f(x, a1, a0):
 return a1*x + a0

#Sumbu x adalah log massa total dan Sumbu y adalah Magnitudo Multak Bolometrik
x = np.array([-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8])
y = np.array([11.3, 10.3, 9.4, 8.1, 6.6, 4.7, 2.7, 0.8, -0.9, -2.4, -3.9, -5.4, -6.8, -8.1, -9.5])

#Membuat Regresi Linier
init_vals = [1, 1] #Inisiasi titik pertama pada grafik
poptl, pcov = curve_fit(f, x, y, p0=init_vals) # Mmebuat garis regresi
print('Best parameter values: {}'.format(poptl)) #Mmngeluarkan nilai hasil dari regresi

#Membuat 50 titik data baru dalam rentang data 
xfitted = np.linspace(x[0], x[len(x)-1], 50) #Sebenarnya tidak perlu 50 titik data yang terpenting adalah jumlah titik datanya tidak ku

#Membuat grafik regresinya
plt.plot(x, y, 'o', label = 'data log(miu) vs Mbol $(x_i,y_i)$', c = 'black')
plt.plot(xfitted, f(xfitted, *poptl), '-', label = 'fit $f(x_i)$')
plt.xlabel('Log(miu)')
plt.ylabel('Mangitudo Mutlak Bolometrik')
plt.legend()
plt.show()

Best parameter values: [-7.8625 4.27166667]

#Memasukkan nilai-nilai yang terdapat di data yang disajikan di Tugas
m1 = 3.7 #Magnitudo Visual bintang 1 epsilon hydrae
m2 = 4.8 #Magnitudo Visual bintang 2 epsiolan Hydrae
P = 15.0 #Periode dari bintang ganda
alpha = 0.21 #Nilai sudut dari paralaks
BC1 = -0.18 #Koreksi Bolometrik bintang 1
BC2 = -0.09 #Koreksi Bolometrik bintang 2
n = -7.8625/-2.5 #Nilai log total massa per -2.5 pada rumus pogson

Miu = 2
print(f'------------------------------------------------------------------------------')
print(f'iteration\tMiu1\t\tMiu2\t\tParalaks\t\tJarak')
print(f'------------------------------------------------------------------------------')

#Pengulangan untuk menemukan nilai paralaks dan massa 1 dan massa 2 dari bintang ganda epsilon hydrae
for i in range(30):
  par = alpha/(((Miu)*(P**2))**(1/3)) #Rumus paralaks dynamika
  dis = 1/par #Rumus jarak dengan satuan parsek

 #Rumus Pogson untuk mencari magnitudo mutlak dari masing-masing bintang
  M_1 = 5 - (5*np.log10(dis)) + m1 
  M_2 = 5 - (5*np.log10(dis)) + m2

 #Rumus untuk mencari magnitudo mutlak bolometrik dari bintang 1 dan bintang 2
  M1B = M_1 - BC1
  M2B = M_2 - BC2

 #Rumus untuk mencari luminositas bintang dengan satuan luminositas matahari
  L1 = 10**((M1B - 4.74)/-2.5)
  L2 = 10**((M2B - 4.74)/-2.5)
 
 #Rumus Hubungan Luminositas dengan Massa dengan satuan massa matahari
  Miu1 = L1**(1/n)
  Miu2 = L2**(1/n)

 #Membuat nilai total massa bintang ganda yang baru
  Miu = Miu1+Miu2
  i+=1
 
 #Mengeluarkan nilai-nilai massa bintang dan paralaks bintang
  print(f'{i}\t\t{Miu1:.11f}\t{Miu2:.11f}\t{par:.11F}\t{dis:.11f}')

------------------------------------------------------------------------------

iteration Miu1 Miu2 Paralaks Jarak

------------------------------------------------------------------------------

1 2.93015249808 2.17987883090 0.02740407349 36.49092535207

2 3.57477045914 2.65944057667 0.02004551728 49.88646519409

3 3.72867069406 2.77393422995 0.01875993325 53.30509370945

4 3.76213561566 2.79883036564 0.01849819412 54.05933107674

5 3.76926788953 2.80413640101 0.01844318234 54.22057762949

6 3.77078150131 2.80526244831 0.01843154216 54.25481987256

7 3.77110242979 2.80550120216 0.01842907566 54.26208120706

8 3.77117046265 2.80555181502 0.01842855286 54.26362056550

9 3.77118488419 2.80556254388 0.01842844204 54.26394687920

10 3.77118794122 2.80556481815 0.01842841855 54.26401605035

11 3.77118858924 2.80556530025 0.01842841357 54.26403071303

12 3.77118872661 2.80556540244 0.01842841252 54.26403382118

13 3.77118875573 2.80556542410 0.01842841229 54.26403448003

14 3.77118876190 2.80556542869 0.01842841224 54.26403461969

15 3.77118876321 2.80556542967 0.01842841223 54.26403464930

16 3.77118876348 2.80556542987 0.01842841223 54.26403465557

17 3.77118876354 2.80556542992 0.01842841223 54.26403465690

18 3.77118876356 2.80556542993 0.01842841223 54.26403465719

19 3.77118876356 2.80556542993 0.01842841223 54.26403465725

20 3.77118876356 2.80556542993 0.01842841223 54.26403465726

21 3.77118876356 2.80556542993 0.01842841223 54.26403465726

22 3.77118876356 2.80556542993 0.01842841223 54.26403465726

23 3.77118876356 2.80556542993 0.01842841223 54.26403465726

24 3.77118876356 2.80556542993 0.01842841223 54.26403465726

25 3.77118876356 2.80556542993 0.01842841223 54.26403465726

26 3.77118876356 2.80556542993 0.01842841223 54.26403465726

27 3.77118876356 2.80556542993 0.01842841223 54.26403465726

28 3.77118876356 2.80556542993 0.01842841223 54.26403465726

29 3.77118876356 2.80556542993 0.01842841223 54.26403465726

30 3.77118876356 2.80556542993 0.01842841223 54.26403465726

Colab paid products


-
Cancel contracts here

check 0s completed at 9:00 PM

Anda mungkin juga menyukai