I0_gerade = unp.uarray(50636, 254) / 300
print('I0_gerade', I0_gerade)
I0_schraeg1 = unp.uarray(16660, 146) / 100
I0_schraeg2 = unp.uarray(16417, 145) / 100
#I0_schraeg = np.mean([I0_schraeg1,I0_schraeg2])
I0_schraeg = avg_and_sem([noms(I0_schraeg1), noms(I0_schraeg2)])
I0_schraeg = unp.uarray(I0_schraeg[0], I0_schraeg[1])
print('I0_schraeg', I0_schraeg)

makeTable([
    noms([I0_gerade * 300, I0_schraeg1 * 100, I0_schraeg2 * 100]),
    stds([I0_gerade * 300, I0_schraeg1 * 100, I0_schraeg2 * 100]),
    [300, 100, 100],
    noms([I0_gerade, I0_schraeg1, I0_schraeg2]),
    stds([I0_gerade, I0_schraeg1, I0_schraeg2])
], r'\multicolumn{2}{c}{' + r'$N_0$' + r'} & {' +
          r'$\Delta t_0/\si{\second}$' + r'} & \multicolumn{2}{c}{' +
          r'$I_0/\si{\becquerel}$' + r'}', 'tabReferenzmessung', [
              'S[table-format=5.0]', '@{${}\pm{}$}S[table-format=3.0]',
              'S[table-format=3.0]', 'S[table-format=3.1]',
              '@{${}\pm{}$}S[table-format=1.1]'
          ], ["%5.0f", "%3.0f", "%3.0f", "%3.1f", "%1.1f"])

#Würfel 2
I2_gerade = unp.uarray(8054, 103) / 300
I2_schraeg1 = unp.uarray(4864, 81) / 300
I2_schraeg2 = unp.uarray(8707, 106) / 300
mu_21 = unp.log(I0_gerade / I2_gerade) / 3
mu_22 = unp.log(I0_schraeg1 / I2_schraeg1) / (3 * np.sqrt(2))
mu_23 = unp.log(I0_schraeg2 / I2_schraeg2) / (2 * np.sqrt(2))
print('mu_21', mu_21)
Exemple #2
0
N_S = 11
R_H = 15.79 * 10**(-2)  # m
N_H = 154

B_S1 = B_field(I_S1, N_S, R_S)
B_S2 = B_field(I_S2, N_S, R_S)
B_H1 = B_field(I_H1, N_H, R_H)
B_H2 = B_field(I_H2, N_H, R_H)

B_1 = B_H1 + B_S1
B_2 = B_H2 + B_S2

makeTable([
    v / 1000, I_S1 * 1000, I_H1 * 1000, B_S1 * 10**6, B_H1 * 10**6, B_1 * 10**6
], r'{$\nu/\si{\kilo\hertz}$} & {$I_\text{S,A}/\si{\milli\ampere}$} & {$I_\text{H,A}/\si{\milli\ampere}$} & {$B_\text{S,A}/\si{\micro\tesla}$} & {$B_\text{H,A}/\si{\micro\tesla}$} & {$B_\text{Ges,A}/\si{\micro\tesla}$}',
          'messung1A', [
              'S[table-format=4.0]', 'S[table-format=3.0]',
              'S[table-format=3.0]', 'S[table-format=3.2]',
              'S[table-format=3.2]', 'S[table-format=3.2]'
          ], ["%4.0f", "%3.0f", "%3.0f", "%3.2f", "%3.2f", "%3.2f"])
makeTable([
    v / 1000, I_S2 * 1000, I_H2 * 1000, B_S2 * 10**6, B_H2 * 10**6, B_2 * 10**6
], r'{$\nu/\si{\kilo\hertz}$} & {$I_\text{S,B}/\si{\milli\ampere}$} & {$I_\text{H,B}/\si{\milli\ampere}$} & {$B_\text{S,B}/\si{\micro\tesla}$} & {$B_\text{H,B}/\si{\micro\tesla}$} & {$B_\text{Ges,B}/\si{\micro\tesla}$}',
          'messung1B', [
              'S[table-format=4.0]', 'S[table-format=3.0]',
              'S[table-format=3.0]', 'S[table-format=3.2]',
              'S[table-format=3.2]', 'S[table-format=3.2]'
          ], ["%4.0f", "%3.0f", "%3.0f", "%3.2f", "%3.2f", "%3.2f"])


def Linear(x, a, b):
    return a * x + b
P_Wind_schwach = 8 / 14
P_Feucht_hoch = 7 / 14
P_Temp_heiß = 1 / 14
P_Ausb_sonnig = 3 / 14
P_W = P_Wind_schwach * P_Feucht_hoch * P_Temp_heiß * P_Ausb_sonnig
P_F_W = P_Wind_schwach_F * P_Feucht_hoch_F * P_Temp_heiß_F * P_Ausb_sonnig_F * P_F / P_W
print(P_F_W)

#Nr.17)
temperature, weather, humidity, wind, soccer = np.genfromtxt(
    'scripts/data.txt', unpack=True)
makeTable(
    [temperature, weather, humidity, wind, soccer],
    r'{' + r'$Temperature/\si{\celsius}$' + r'} & {' + r'$Weather$' +
    r'} & {' + r'$Humidity/\si{\percent}$' + r'} & {' + r'$Wind$' + r'} & {' +
    r'$Soccer$' + r'}', 'tabData', [
        'S[table-format=2.1]', 'S[table-format=1.0]', 'S[table-format=2.0]',
        'S[table-format=1.0]', 'S[table-format=1.0]'
    ], ["%2.1f", "%1.0f", "%2.0f", "%1.0f", "%1.0f"])


def entropy(p1, p2):
    if p1 == 0:
        return -p2 * np.log2(p2)
    elif p2 == 0:
        return -p1 * np.log2(p1)
    else:
        return -p1 * np.log2(p1) - p2 * np.log2(p2)


p_soc_true = len(soccer[soccer == 1]) / len(soccer)
plt.xlim(60,200)
plt.legend(loc='best')
plt.tight_layout(pad=0, h_pad=1.04, w_pad=1.08)
plt.savefig('build/'+'longitudinal')


#transversale Moden
T00x, T00I  = np.genfromtxt('scripts/T00mode.txt',unpack=True) #mm,nA
T00x = 15-T00x
T00x = T00x[::-1]
T00I = T00I[::-1]
T01x, T01I  = np.genfromtxt('scripts/T01mode.txt',unpack=True) #mm.nA
#T00x = T00x /1000 #m
#T01x = T01x /1000 #m

makeTable([T00x,T00I], r'{$\Delta x/ \si{\milli\meter}$} & {$ I / \si{\nano\ampere}$}','tabT00' , ['S[table-format=2.0]' , 'S[table-format=4.0]'] ,  ["%2.0f", "%4.0f"])
makeTable([T01x[:15],T01I[:15]], r'{$ \Delta x / \si{\milli\meter}$} & {$ I/ \si{\nano\ampere}$}','tabT011' , ['S[table-format=1.1]' , 'S[table-format=3.0]'] ,  ["%1.1f", "%3.0f"])
makeTable([T01x[15:],T01I[15:]], r'{$ \Delta x/ \si{\milli\meter}$} & {$ I/ \si{\nano\ampere}$}','tabT012' , ['S[table-format=2.1]' , 'S[table-format=3.0]'] ,  ["%2.1f", "%3.0f"])

#T00 mode fit
def T00(x,a,b,c):
	return a*np.exp(-2*((x-c)**2)/(b**2))
	
params, covariance_matrix = curve_fit(T00,T00x,T00I)
errors = np.sqrt(np.diag(covariance_matrix))
print('Die Parameter der T00 Mode:')
print('a =', params[0], '±', errors[0])
print('b =', params[1], '±', errors[1])
print('c =', params[2], '±', errors[2])

#plot
Exemple #5
0
plt.plot(xplot+273.15,expFunktion(xplot+273.15,*params),'b-',label='Ausgleichskurve')
plt.xlabel(r'$T/\si{\kelvin}$')
plt.ylabel(r'$i/\si{\pico\ampere}$')
plt.xlim(220,335)
plt.ylim(-10,50)
plt.legend(loc='best')
plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
plt.savefig('content/images/plot1exp.pdf')

paramsU=uncertainties.correlated_values(params, covar)
print(paramsU)
t_roh,T_roh,I_roh=np.genfromtxt('scripts/data1.txt',unpack=True)

for i in range(len(I)):
	I[i]=I[i]-expFunktion(T[i], *params)
makeTable([t[:26],T[:26],I_roh[:26],I[:26]], r'{'+r'$t_\text{1}/(\si{\minute})$'+r'} & {'+r'$T_\text{1}/(\si{\kelvin})$'+r'} & {'+r'$i_\text{roh,1}/(\si{\pico\ampere})$'+r'} & {'+r'$i_\text{ber,1}/(\si{\pico\ampere})$'+r'}','tabData1_1',['S[table-format=2.0]','S[table-format=3.1]','S[table-format=2.1]','S[table-format=2.1]'],["%2.0f","%3.1f","%2.1f","%2.1f"])
makeTable([t[26:],T[26:],I_roh[26:],I[26:]], r'{'+r'$t_\text{1}/(\si{\minute})$'+r'} & {'+r'$T_\text{1}/(\si{\kelvin})$'+r'} & {'+r'$i_\text{roh,1}/(\si{\pico\ampere})$'+r'} & {'+r'$i_\text{ber,1}/(\si{\pico\ampere})$'+r'}','tabData1_2',['S[table-format=2.0]','S[table-format=3.1]','S[table-format=2.1]','S[table-format=2.1]'],["%2.0f","%3.1f","%2.1f","%2.1f"])
makeTable([1/T[:30],np.log(I[:30])], r'{'+r'$T^{-1}_\text{1}/(\si{\kelvin^{-1}})$'+r'} & {'+r'$\ln{\frac{i_\text{1}}{i_\text{0}}}$'+r'}','tabLog11',['S[table-format=1.4]','S[table-format=1.4]'],["%1.4f","%1.4f"])

#W: 1.Möglichkeit
print('erste Möglichkeit')

x=1/T
params4,covar4=cf(linear,x[4:15],np.log(I[4:15]))

paramsU=uncertainties.correlated_values(params4, covar4)
print(paramsU)

plt.cla()
plt.clf()
plt.plot(x[:30],np.log(I[:30]),'y.',label='Messwerte')
#B_max = B_max*1.75
print('max B field [mT]:', B_max*10**3)
z,B = np.genfromtxt('scripts/magnetfeld.txt',unpack=True) # mm, mT
#B = B*1.75

plt.cla()
plt.clf()
plt.plot(z,B,'rx')
plt.xlabel(r'$z/\si{\milli\metre}$')
plt.ylabel(r'$B/\si{\milli\tesla}$')
#plt.xlim(-30,30)
plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
#plt.legend(loc='best')
plt.savefig('build/magnetfeld.pdf')

makeTable([z[:10], B[:10]], r'{$z/\si{\milli\metre}$} & {$B/\si{\milli\tesla}$}', 'magnetfeld', ['S[table-format=2.0]', 'S[table-format=3.0]'], ["%2.0f", "%3.0f"])
makeTable([z[9:], B[9:]], r'{$z/\si{\milli\metre}$} & {$B/\si{\milli\tesla}$}', 'magnetfeld2', ['S[table-format=2.0]', 'S[table-format=3.0]'], ["%2.0f", "%3.0f"])

#reinprobe
print('reinprobe')
l,t1,t2 = np.genfromtxt('scripts/reinprobe.txt',unpack=True) # micrometer, degree
tr = (t1-t2)/2
tr = 2*np.pi*tr/360 # rad
tr = tr/5.11*10**3 #rad/m

def hyperbel(l,a):
	return a/l**2

params, covariance_matrix = curve_fit(hyperbel,l,tr)
errors = np.sqrt(np.diag(covariance_matrix))
A = A_0*unp.exp(-np.log(2)*t/tau)

print('A =', A)

#Energieverlustmessung
print('Energieverlustmessung')

p_ohne,U1_ohne,U2_ohne,U3_ohne = np.genfromtxt('scripts/dataOhne.txt',unpack=True) #p in mbar, U in V
U_ohne_m = []
U_ohne_s = []
for i in range(len(U1_ohne)):
	U_ohne_m = U_ohne_m + [avg_and_sem([U1_ohne[i],U2_ohne[i],U3_ohne[i]])[0]]
	U_ohne_s = U_ohne_s + [avg_and_sem([U1_ohne[i],U2_ohne[i],U3_ohne[i]])[1]]
U_ohne = unp.uarray(U_ohne_m,U_ohne_s)
makeTable([p_ohne,U1_ohne,U2_ohne,U3_ohne,noms(U_ohne),stds(U_ohne)], r'{'+r'$p_\text{ohne}/(\si{\milli\bar})$'+r'} & {'+r'$U_\text{high,ohne}/\si{\volt}$'+r'} & {'+r'$U_\text{low,ohne}/\si{\volt}$'+r'} & {'+r'$U_\text{mid,ohne}/\si{\volt}$'+r'} & \multicolumn{2}{c}{'+r'$\bar{U}_\text{ohne}/(\si{\volt})$'+r'}','tabDataOhne',['S[table-format=3.2]','S[table-format=1.2]','S[table-format=1.2]','S[table-format=1.2]','S[table-format=1.2]','@{${}\pm{}$}S[table-format=1.2]'],["%3.2f","%1.2f","%1.2f","%1.2f","%1.2f","%1.2f"])

#params_ohne, covar = curve_fit(Line, p_ohne, noms(U_ohne))
#uParams=uncertainties.correlated_values(params, covar)

p_mit,U1_mit,U2_mit,U3_mit = np.genfromtxt('scripts/dataMit.txt',unpack=True) #p in mbar, U in V
U_mit_m = []
U_mit_s = []
for i in range(len(U1_mit)):
	U_mit_m = U_mit_m + [avg_and_sem([U1_mit[i],U2_mit[i],U3_mit[i]])[0]]
	U_mit_s = U_mit_s + [avg_and_sem([U1_mit[i],U2_mit[i],U3_mit[i]])[1]]
U_mit = unp.uarray(U_mit_m,U_mit_s)
makeTable([p_mit,U1_mit,U2_mit,U3_mit,noms(U_mit),stds(U_mit)], r'{'+r'$p_\text{mit}/(\si{\milli\bar})$'+r'} & {'+r'$U_\text{high,mit}/\si{\volt}$'+r'} & {'+r'$U_\text{low,mit}/\si{\volt}$'+r'} & {'+r'$U_\text{mid,mit}/\si{\volt}$'+r'} & \multicolumn{2}{c}{'+r'$\bar{U}_\text{mit}/(\si{\volt})$'+r'}','tabDataMit',['S[table-format=3.2]','S[table-format=1.2]','S[table-format=1.2]','S[table-format=1.2]','S[table-format=1.2]','@{${}\pm{}$}S[table-format=1.2]'],["%3.2f","%1.2f","%1.2f","%1.2f","%1.2f","%1.2f"])

plot = True
if(plot):