import numpy as np import matplotlib.pyplot as plt #1. ukol #a) #na cviceni sme odvodzovali fyzikalne dovody pre pouzitie modelovej funkcie #m = b1 + b2*log(N), kde b = 5/3 #b) matrix = np.loadtxt("E:\list_of_stars.dat") x = matrix[:,0] #hodnoty poradia hviezd y = matrix[:,1] #hodnoty zdanlivej hviezdnej velkosti n = len(x) X = np.ones((n,2)) #matica parcialnych derivacii X[:,1] = np.log10(x) V = np.dot(np.transpose(X),X) U = np.dot(np.transpose(X),y) b = np.dot(np.linalg.inv(V),U) #hodnoty parametrov b = [b1,b2] pre najpresnejsi fit y_p = np.dot(X,b) #funkcne hodnoty predpovedane fitom print(b) plt.plot(x,y,'*') plt.plot(x,y_p) plt.xlabel('poradie') plt.ylabel('zdanliva hviezdna velkost [mag]') plt.show() #2. ukol #zo stranky http://www.astrouw.edu.pl/asas/?page=acvs sme ziskali data #pre vybranu hviezdu a v datovom subore sme odstranili vsetky komentare matrix = np.loadtxt('E:\V2509_Sgr.txt', usecols=range(11)) #loadtxt nevie citat zmiesane datove typy, preto specifikujeme vyber prvych 11 stlpcov HJD = matrix[:,0] M2 = matrix[:,4] #vyberame stlpec MAG_2 s najpresnejsimi datami plt.plot(HJD,M2,'*') plt.xlabel('HJD [d]') plt.ylabel('MAG_2 [mag]') plt.gca().invert_yaxis() #obracia y-ovu os, aby zodpovedala vzrastajucej jasnosti plt.show() errors = np.where(M2>20)[0] #zistujeme pozicie vsetkych odlahlych bodov HJD = np.delete(HJD,errors) M2 = np.delete(M2,errors) plt.plot(HJD,M2,'*') plt.xlabel('HJD [d]') plt.ylabel('MAG_2 [mag]') plt.gca().invert_yaxis() plt.show()