Beispiel #1
0
"""
plt.cla()
plt.clf()
plt.plot(1/U2_plot,afunc(U2_plot,*para6),'b-',label=r'Ausgleichsgerade')
plt.plot(1/U_Barray, a_array, 'rx', label=r'Messwerte')
plt.ylabel(r'$\alpha/\si{\metre\per\volt}$')
plt.xlabel(r'$U_B^{-1}/\si{\volt}$')
plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
plt.xlim(1/312,1/218)
plt.legend(loc='best')
plt.savefig('content/images/GraphEle6.pdf')
"""
a_ges = unp.uarray(para6[0], cova6[0])
b_ges = unp.uarray(para6[1], cova6[1])
Abweichung = (para6[0] / k - 1) * 100
print('Steigung der a: ', a_ges)
print('k: ', k)
print('Abweichung von der Theorie in %:', Abweichung)
print('y-Achsenabschnitt: ', b_ges)

# Frequenz
Amp = 0.00625 * 1.5
n, f = np.genfromtxt('scripts/data8.txt', unpack=True)
#makeTable([1/n,f,f/n],r'{'+r'$n$'+r'} & {'+r'$f_.{Säge}/\si{\hertz}$'+r'} & {'+r'$f_.{sin}/\si{\hertz}$'+r'}','tabFreq',['S[table-format=1.1]','S[table-format=2.2]', 'S[table-format=2.2]'],["%1.1f","%2.2f","%2.2f"])
f_avg = unp.uarray(avg_and_sem(f / n)[0], avg_and_sem(f / n)[1])
empfind = a_ges / 350
S = Amp * 350 / (a_ges)
S2 = Amp / empfind
print('Mittelwert der Sinus-Frequenz: ', f_avg)
print('Scheitelpunkt der Sinusspannung: ', S, 'oder ', S2)
Beispiel #2
0
f[6], A[6] = np.genfromtxt('FP-V23data/4.1_525mm.dat', unpack=True)
f[7], A[7] = np.genfromtxt('FP-V23data/4.1_600mm.dat', unpack=True)

for i in range(len(f)):
    indices = find_peaks(A[i], 12)
    peaks[i] = f[i][indices[0]]
    #print('peaks', l[i],'mm:', peaks[i])

Df_m = []
Df_err = []
for i in range(len(f)):
    Df = []
    for j in range(len(peaks[i]) - 1):
        temp = peaks[i][j + 1] - peaks[i][j]
        Df = Df + [temp]
    Df = avg_and_sem(Df)
    Df_m = Df_m + [Df[0]]
    Df_err = Df_err + [Df[1]]
Df = unp.uarray(Df_m, Df_err)

for i in range(len(f)):
    print('Df', l[i], 'mm:', Df[i], 'Hz')

params, covar = curve_fit(Line, 1 / l * 1000, noms(Df))
uParams = uncertainties.correlated_values(params, covar)

Plot(1 / l * 1000, Df, [1 / 700 * 1000, 1 / 70 * 1000],
     r'$\left(\frac{1}{L}\right)/\si{\per\metre}$', r'$\Delta f/\si{\hertz}$',
     params, '4.1')

c = uParams[0] * 2
Beispiel #3
0
plt.legend(loc='best')
plt.tight_layout(pad=0, h_pad=1.04, w_pad=1.08)
plt.savefig('build/'+'stabilitat')


#longitudinale Moden

def lambda_fkt(L,a):
	return a*L

f_192  = np.genfromtxt('scripts/data1.txt',unpack=True) #MHz
f_192 = f_192*10**6 #Hz
lambda_192 = f_192[:len(f_192)-1]
for i in range(len(f_192)-1):
	lambda_192[i] = const.c/(f_192[i+1]-f_192[i])
lambda_192 = avg_and_sem(lambda_192)
print('lambda_192:', lambda_192)

f_120  = np.genfromtxt('scripts/data2.txt',unpack=True) #MHz
f_120 = f_120*10**6 #Hz
lambda_120 = f_120[:len(f_120)-1]
for i in range(len(f_120)-1):
	lambda_120[i] = const.c/(f_120[i+1]-f_120[i])
lambda_120 = avg_and_sem(lambda_120)
print('lambda_120:', lambda_120)

f_71  = np.genfromtxt('scripts/data3.txt',unpack=True) #MHz
f_71 = f_71*10**6 #Hz
lambda_71 = f_71[:len(f_71)-1]
for i in range(len(f_71)-1):
	lambda_71[i] = const.c/(f_71[i+1]-f_71[i])

def MFastExakt2(phi, n):
    vorfaktor = T / lambdavac
    ersterTerm = (n - np.cos(phi - np.arcsin(1 / n * np.sin(phi)))) / np.cos(
        np.arcsin(1 / n * np.sin(phi)))
    return vorfaktor * (ersterTerm)


Mglass = np.genfromtxt('scripts/BIglasN.txt', unpack=True)
makeNewTable([Mglass], r'{$M$}', 'Glas', ['S[table-format=2.0]'], ['{:1.0f}'])
params, covar = curve_fit(MFastExakt, (Mglass * 0 + zehnGradinRad),
                          Mglass,
                          bounds=(1, 3))
fitergebniss = unp.uarray(params, np.sqrt(np.diag(covar)))
MglassU = unp.uarray(*avg_and_sem(Mglass))
print(MglassU)
a = MglassU * lambdavac / (2 * T)
N = n(a, 0 * 2 * np.pi / 360, 10 * 2 * np.pi / 360)
print(10 * 2 * np.pi / 360)
print(N)
print(-(MFastExakt2(0, *params) - MFastExakt2(zehnGradinRad, *params)) +
      (MFastExakt2(2 * zehnGradinRad, *params) -
       MFastExakt2(zehnGradinRad, *params)))
print(nalt(MglassU, 10 * 2 * np.pi / 360 * 20 * 2 * np.pi / 360))
print(MFastExakt(0, 1.3))
print(fitergebniss)
phi = np.linspace(-zehnGradinRad * 6, zehnGradinRad * 6, 1000000)
plt.cla()
plt.clf()
plt.plot(phi,
Beispiel #5
0
# plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
# plt.savefig('build/'+'VgegenDeltaV')

# a = unp.uarray(params[0], np.sqrt(covar[0][0]))
# params = unp.uarray(params, np.sqrt(np.diag(covar)))
# makeNewTable([convert((r'$c_\text{1}$',r'$c_\text{2}$',r'$T_{\text{A}1}$',r'$T_{\text{A}2}$',r'$\alpha$',r'$D_1$',r'$D_2$',r'$A_1$',r'$A_2$',r'$A_3$',r'$A_4$'),strFormat),convert(np.array([paramsGes2[0],paramsGes1[0],deltat2*10**6,deltat1*10**6,-paramsDaempfung[0]*2,4.48*10**-6 *paramsGes1[0]/2*10**3, 7.26*10**-6 *paramsGes1[0]/2*10**3, (VierteMessung-2*deltat2*10**6)[0]*10**-6 *1410 /2*10**3, unp.uarray((VierteMessung[1]-VierteMessung[0])*10**-6 *1410 /2*10**3, 0), unp.uarray((VierteMessung[2]-VierteMessung[1])*10**-6 *2500 /2*10**3, 0),unp.uarray((VierteMessung[3]-VierteMessung[2])*10**-6 *1410 /2*10**3, 0)]),unpFormat,[[r'\meter\per\second',"",True],[r'\meter\per\second',"",True],[r'\micro\second',"",True],[r'\micro\second',"",True],[r'\per\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',r'1.3f',True],[r'\milli\meter',r'1.3f',True],[r'\milli\meter',r'2.2f',True]]),convert(np.array([2730,2730]),floatFormat,[r'\meter\per\second','1.0f',True])+convert((r'-',r'-'),strFormat)+convert(unp.uarray([57,6.05,9.9],[2.5,0,0]),unpFormat,[[r'\per\meter',"",True],[r'\milli\meter',r'1.2f',True],[r'\milli\meter',r'1.2f',True]])+convert((r'-',r'-',r'-',r'-'),strFormat),convert(np.array([(2730-paramsGes2[0])/2730*100,(2730-paramsGes1[0])/2730*100]),unpFormat,[r'\percent','',True])+convert((r'-',r'-'),strFormat)+convert(np.array([(-paramsDaempfung[0]*2-unp.uarray(57,2.5))/unp.uarray(57,2.5)*100,(4.48*10**-6 *paramsGes1[0]/2*10**3-6.05)/6.05*100, (-7.26*10**-6 *paramsGes1[0]/2*10**3+9.90)/9.90*100]),unpFormat,[r'\percent','',True])+convert((r'-',r'-',r'-',r'-'),strFormat)],r'{Wert}&{gemessen}&{Literaturwert\cite{cAcryl},\cite{alphaAcryl}}&{Abweichung}','Ergebnisse', ['c ','c',r'c','c'])

a = np.genfromtxt(r'scripts/a', unpack=True)
makeNewTable(data=a,
             names=r'{$\frac{10 \Delta s}{\si{\milli\meter}}$} & {$N$}',
             filename='a',
             formats=[r'S[table-format=1.2]', r'S[table-format=4.0]'],
             formats2=[r'{:3.2f}', r'{:4.0f}'])

a[0] = a[0] / 10000
Lambda = unp.uarray(*avg_and_sem(4 * a[0] / a[1]))
print(Lambda)

b = np.genfromtxt(r'scripts/b', unpack=True)
makeNewTable(data=b,
             names=r'{$\frac{\Delta p}{\si{\bar}}$} & {$N$}',
             filename='b',
             formats=[r'S[table-format=1.2]', r'S[table-format=2.0]'],
             formats2=[r'{:3.2f}', r'{:2.0f}'])

p = unp.uarray(*avg_and_sem(b[0])) * const.bar
N = unp.uarray(*avg_and_sem(b[1]))

L = 0.05

Beispiel #6
0
a2Asymtote = 1.3
bneuStelleErstesPeak = 3 #in cm
cAsymtote = -0.25
a1T=25+273.15#sicher
a2T=unp.uarray(150,10)+273.15#vieleicht
bneuT=unp.uarray(180,20)+273.15#vielleichtca.
cT=unp.uarray(105,5)+273.15#vielleicht
a=1#in cm
UionLit = 10.4375 #in eV
UanLit = 4.85 #in eV
lambdaLit = 253*10**-9#in meter

#1. Messwerte einlesen
#	x-AchsenFaktor berechnen
a1xAchseAbstände = np.genfromtxt('scripts/a1', unpack=True) #Abstand in cm zwischen 1 Volt Abständen
a1xAchseFaktor = 1/unp.uarray(*avg_and_sem(a1xAchseAbstände)) # Anzahl der Volt pro cm
a2xAchseAbstände = np.genfromtxt('scripts/a2', unpack=True) #Abstand in cm zwischen 1 Volt Abständen
a2xAchseFaktor = 1/unp.uarray(*avg_and_sem(a2xAchseAbstände)) # Anzahl der Volt pro cm
bxAchseAbstände = np.genfromtxt('scripts/b', unpack=True) #Abstand in cm zwischen 5 Volt Abständen
bxAchseFaktor = 5/unp.uarray(*avg_and_sem(bxAchseAbstände)) # Anzahl der Volt pro cm
bneuxAchseAbstände = np.genfromtxt('scripts/bneu', unpack=True) #Abstand in cm zwischen 5 Volt Abständen
bneuxAchseFaktor = 5/unp.uarray(*avg_and_sem(bneuxAchseAbstände)) # Anzahl der Volt pro cm
cxAchseAbstände = np.genfromtxt('scripts/c', unpack=True) #Abstand in cm zwischen 5 Volt Abständen
cxAchseFaktor = 5/unp.uarray(*avg_and_sem(cxAchseAbstände)) # Anzahl der Volt pro cm
#   Differenzen der Maxima in b
bDiff = np.genfromtxt('scripts/bDiff', unpack=True)*bxAchseFaktor
bDiff = unp.uarray(*weighted_avg_and_sem(unp.nominal_values(bDiff), 1/unp.std_devs(bDiff)))
bneuDiff = np.genfromtxt('scripts/bneuDiff', unpack=True)*bneuxAchseFaktor
bneuDiffOriginal= bneuDiff
bneuDiff = unp.uarray(*weighted_avg_and_sem(unp.nominal_values(bneuDiff), 1/unp.std_devs(bneuDiff)))
#	x/y-Koordinaten; x-Achse in 1Volt
Beispiel #7
0
    return x * 0 + c


koinz = np.genfromtxt('scripts/koinz', unpack=True)
t = 10
koinz[1] /= t
makeNewTable(
    convert([koinz[0]], floatFormat, [r'', '2.0f', False]) +
    convert([koinz[1]], floatFormat, [r'', '2.1f', False]),
    r'{$\varDelta t/\si{\nano\second}$} & {$A/\si[per-mode=reciprocal]{\per\second}$}',
    'tab2', [r'S[table-format=2.0]', r'S[table-format=2.1]'])
koinz1 = [koinz[0][3:9], koinz[1][3:9]]
koinz2 = [koinz[0][10:18], koinz[1][10:18]]
koinz3 = [koinz[0][19:24], koinz[1][19:24]]
params1, covar1 = curve_fit(line, *koinz1)
params2, error2 = avg_and_sem(koinz2[1])
params3, covar3 = curve_fit(line, *koinz3)
params1U = uncertainties.correlated_values(params1, covar1)
params2U = unp.uarray(params2, error2)
params3U = uncertainties.correlated_values(params3, covar3)
print('Params1:', params1U)
print('Params2:', params2U)
print('Params3:', params3U)
x1 = (params2U / 2 - params1U[1]) / params1U[0]
x2 = (params2U / 2 - params3U[1]) / params3U[0]
print('x1:', x1)
print('x2:', x2)
print('deltatk:', 40 - (x2 - x1))
x = np.linspace(-30, 30, 1000)
plt.cla()
plt.clf()
Beispiel #8
0
          ], ["%1.0f", "%2.2f", "%2.2f", "%2.1f"])

#c)
#Herz
n, dt, hs = np.genfromtxt('scripts/data3.txt', unpack=True)
h = hs * 1.485 / 2

makeTable([n, dt, hs, h], r'{' + r'$n$' + r'} & {' +
          r'$\Delta t_.{n\rightarrow n+1}/\si{\second}$' + r'} &{' +
          r'$\Delta t_.{h}/10^{-6}\si{\second}$' + r'} & {' +
          r'$h/10^{-3}\si{\metre}$' + r'}', 'tabTMScan', [
              'S[table-format=1.0]', 'S[table-format=1.2]',
              'S[table-format=2.2]', 'S[table-format=2.2]'
          ], ["%1.0f", "%1.2f", "%2.2f", "%2.2f"])
dt_neu = np.delete(dt, 24)
avg_t = avg_and_sem(dt_neu)
h = h / 1000
avg_h = avg_and_sem(h)
print('Mittelwert von dt in s: ', avg_t)
print('Mittelwert von h in m: ', avg_h)
a = 49.4 / 2000
V = avg_h[0] * math.pi / 6 * (3 * a**2 + avg_h[0]**2)
print('Kugelsegmentvolumen in m^3: ', V)
errV = (a**2 + avg_h[0]**2) / 2 * math.pi * avg_h[1]
print('Fehler von V in m^3:', errV)
print('Relativer Fehler von V in %:', 100 * (errV / V))
f = 1 / avg_t[0]
errf = avg_t[1] / avg_t[0]**2
print('Die Frequenz in Hz beträgt', f, '+/-', errf)
V_Z = V * f
errV_Z = np.sqrt(V**2 * errf**2 + f**2 * errV**2)
Beispiel #9
0
T = np.array([23.5 + T0, 144 + T0, 174.2 + T0, 108 + T0])
w = 0.0029 / (5.5 * 10**7) * np.exp(6876 / T) / 100
aw = a / w

print('T = ', T)
print('w = ', w)
print('a/w = ', aw)

#Skalierungsfaktoren
da1, da2, db, dc = np.genfromtxt(r'scripts/data1.txt', unpack=True)
da1 = da1 / 1000
da2 = da2 / 1000
db = db / 5000
dc = dc / 5000

da1m = avg_and_sem(da1[0:10])
da2m = avg_and_sem(da2[0:10])
dbm = avg_and_sem(db)
dcm = avg_and_sem(dc[0:10])

fa1 = 1 / da1m[0]
fa2 = 1 / da2m[0]
fb = 1 / dbm[0]
fc = 1 / dcm[0]

da1m = unp.uarray(da1m[0], da1m[1])
da2m = unp.uarray(da2m[0], da2m[1])
dbm = unp.uarray(dbm[0], dbm[1])
dcm = unp.uarray(dcm[0], dcm[1])

print('da1 = ', da1m)
        (x - pos0)[np.abs(x - pos0) > np.min(np.abs(x - pos0))], n)
    return wellenlaenge2


wertBeiNull = 6
params, covar = curve_fit(fitFunkt,
                          pos,
                          min,
                          max_nfev=10000,
                          bounds=[wertBeiNull, wertBeiNull + 0.00000001])
print(unp.uarray(params, np.sqrt(np.diag(covar))))
print(np.mean(ErgebnisFunkt(pos, *params) * 10**6))

plt.cla()
plt.clf()
plt.plot((pos)[np.abs(pos - params[0]) > np.min(np.abs(pos - params[0]))],
         ErgebnisFunkt(pos, *params) * 10**6,
         'rx',
         label='Die bestimmten Wellenlängen')

# plt.xlim(0, t[-1]*100)
plt.xlabel(r'$ \Delta x/\si{\milli\meter}$')
plt.ylabel(r'$\lambda/\si{\nano\meter}$')
plt.legend(loc='best')
plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
plt.savefig('build/' + 'welle')

#mittelwert
mittel = unp.uarray(*avg_and_sem(ErgebnisFunkt(pos, *params) * 10**6))
print('Mittelwert', mittel)
Beispiel #11
0
plt.ylabel(r'$i/\si{\pico\ampere}$')
#plt.yscale('log')
plt.legend(loc='best')
plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
plt.savefig('content/images/bereinigt2.pdf')

#tau_0
b1_array=np.empty(52)
for i in range(len(b1_array)-1):
	b1_array[i]=(T[i+1]-T[i])/(t[i+1]-t[i])

b2_array=np.empty(61)
for i in range(len(b2_array)-1):
	b2_array[i]=(T2[i+1]-T2[i])/(t2[i+1]-t2[i])

b1=avg_and_sem(b1_array)
b1=unp.uarray(b1[0],b1[1])/60
b2=avg_and_sem(b2_array)
b2=unp.uarray(b2[0],b2[1])/60

print('b1 =', b1)
print('b2 =', b2)

W1_avg=avg_and_sem([W1_1.n,W1_2.n])
W1_avg=unp.uarray(W1_avg[0],W1_avg[1])
W2_avg=avg_and_sem([W2_1.n,W2_2.n])
W2_avg=unp.uarray(W2_avg[0],W2_avg[1])
W_avg=avg_and_sem([W1_1.n,W1_2.n,W2_1.n,W2_2.n])
W_avg=unp.uarray(W_avg[0],W_avg[1])
print('W_avg =', W_avg, 'eV: ', W_avg/const.e)
Beispiel #12
0
print('E0=', achsenAbschnitt)

makeTable([p * 1000, N2, xeff(p, x2 * 1000), E2 / 10**6], r'{' +
          r'$p/\si{\milli\bar}$' + r'} & {' + r'$N_.2/\si{\becquerel}$' +
          r'} & {' + r'$x_.{eff2}/\si{\milli\metre}$' + r'} & {' +
          r'$E_2/\si{\mega e\volt}$' + r'}', 'tab2', [
              'S[table-format=3.0]', 'S[table-format=3.0]',
              'S[table-format=2.1]', 'S[table-format=1.2]'
          ], ["%3.0f", "%3.0f", "%2.1f", "%1.2f"])

#3)
N3 = np.genfromtxt('scripts/data3.txt', unpack=True)
N3 = N3 / 10
#N3 = np.rint(N3)
N3.sort()
mu, sigma = avg_and_sem(N3)
sigma = sigma * np.sqrt(len(N3))
#placeholder = N3+500
#x = mu + sigma * np.random.randn(10000)

print('3)')
print('Mittelwert=', mu)
print('Standardabweichung=', sigma)
"""
x = np.linspace(600,740, 141)
#x = np.linspace(0,14, 15)
y = poisson.pmf(x, mu)*10000
#y = P(x, mu/10-60)*10000
y = np.rint(y)
print('y', y)
for i in range(0, len(y)):
Beispiel #13
0
A_0 = unp.uarray(330,1)*10**3 #becquerel
tau = unp.uarray(432.6,0.6)*365*24*3600 #s
t = unp.uarray(7.665,0.013)*10**8 #s

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"])
Beispiel #14
0
eta = 0.28
sigma = 5.7 * 10**(-8)

TS = ((WH - 1) / (A * eta * sigma))**(0.25)

print('TS=', TS)

#e)
print('e)')
h = const.value("Planck constant")
m0 = const.value("electron mass")
IS = np.array([230, 600, 1500, 3500, 6000]) * 10**(-6)

phi = -np.log(IS * h**3 /
              (4 * np.pi * e0 * m0 * A * kB**2 * TS**2)) * kB * TS / e0
phi_m = unp.uarray(avg_and_sem(phi)[0], avg_and_sem(phi)[1])

print('phi=', phi)
print('phi_m=', phi_m)

#weitereTabelle

makeTable(
    [IH, UH, WH, IS * 10**6, TS, phi],
    r'{' + r'$I_\text{H}/\si{\ampere}$' + r'} & {' +
    r'$U_\text{H}/\si{\volt}$' + r'} & {' + r'$W_\text{H}/\si{\watt}$' +
    r'} & {' + r'$I_\text{S}/\si{\micro\ampere}$' + r'} & {' +
    r'$T_\text{S}/\si{\kelvin}$' + r'} & {' + r'$\phi/\si{\electronvolt}$' +
    r'}', 'tabSTA', [
        'S[table-format=1.1]', 'S[table-format=1.2]', 'S[table-format=2.1]',
        'S[table-format=4.0]', 'S[table-format=3.0]', 'S[table-format=1.2]'
Beispiel #15
0
cu3 = [mcu, 85 + 273.15, 676.5, 22.1 + 273.15, 24.4 + 273.15]

mpb = 541.89
pb1 = [mpb, 83 + 273.15, 691.58, 23.0 + 273.15, 25.4 + 273.15]
pb2 = [mpb, 85.3 + 273.15, 693.24, 21.6 + 273.15, 24.1 + 273.15]
pb3 = [mpb, 93 + 273.15, 713.6, 21.3 + 273.15, 24.2 + 273.15]

mgr = 106.43
gr1 = [mgr, 83.3 + 273.15, 703.94, 21.6 + 273.15, 24.5 + 273.15]
gr2 = [mgr, 84.0 + 273.15, 669.04, 21.6 + 273.15, 24.1 + 273.15]
gr3 = [mgr, 84.4 + 273.15, 697.62, 21.6 + 273.15, 24.0 + 273.15]

ccu1 = c(cu1)
ccu2 = c(cu2)
ccu3 = c(cu3)
ccum = unp.uarray(*avg_and_sem([ccu1, ccu2, ccu3]))

cpb1 = c(pb1)
cpb2 = c(pb2)
cpb3 = c(pb3)
cpbm = unp.uarray(*avg_and_sem([cpb1, cpb2, cpb3]))

cgr1 = c(gr1)
cgr2 = c(gr2)
cgr3 = c(gr3)
cgrm = unp.uarray(*avg_and_sem([cgr1, cgr2, cgr3]))

wcu1 = [ccu1, 63.5, 16.8, 136, 8.96, 24.9]
wcu2 = [ccu2, 63.5, 16.8, 136, 8.96, 24.7]
wcu3 = [ccu3, 63.5, 16.8, 136, 8.96, 24.4]
Beispiel #16
0
makeTable(
    [I, B * 1000, T], r'{' + r'$I/\si{\ampere}$' + r'} & {' +
    r'$B/\si[per-mode=reciprocal]{\milli\tesla}$' + r'} & {' +
    r'$T/\si[per-mode=reciprocal]{\second}$' + r'}', 'tabb',
    ['S[table-format=1.1]', 'S[table-format=1.1]', 'S[table-format=2.2]'],
    ["%1.1f", "%1.1f", "%2.2f"])

#Präzession
I, T = np.genfromtxt("scripts/data3.txt", unpack=True)

In = []
Tn = []
Ts = []
for i in range(10):
    Ttn, Tts = avg_and_sem(T[3 * i:3 * i + 3])
    In.append(I[i * 3])
    Tn.append(Ttn)
    Ts.append(Tts)
I = np.array(In)
T = unp.uarray(Tn, Ts)
Tn = np.array(Tn)

B = (N * mu_0 * I * R**2) / ((R**2 + x**2)**(3 / 2))
L_K = J_K * 2 * pi * 5

paramsLinear, errorsLinear, sigma_y = linregress(B, 1 / Tn)

steigung = unp.uarray(paramsLinear[0], errorsLinear[0])
achsenAbschnitt = unp.uarray(paramsLinear[1], errorsLinear[1])
Beispiel #17
0
plt.clf()
plt.plot(E, N_E, 'r-', label=r'Energiespektrum')
plt.xlabel(r'$E/\si{\kilo\electronvolt}$')
plt.ylabel(r'N')
plt.xlim(0, 800)
plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
plt.legend(loc='best')
plt.savefig('build/Energiespektrum.pdf')

#Würfel 1, Bestimmung von I_0
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]'
Beispiel #18
0
# a = unp.uarray(params[0], np.sqrt(covar[0][0]))
# params = unp.uarray(params, np.sqrt(np.diag(covar)))
# makeNewTable([convert((r'$c_\text{1}$',r'$c_\text{2}$',r'$T_{\text{A}1}$',r'$T_{\text{A}2}$',r'$\alpha$',r'$D_1$',r'$D_2$',r'$A_1$',r'$A_2$',r'$A_3$',r'$A_4$'),strFormat),convert(np.array([paramsGes2[0],paramsGes1[0],deltat2*10**6,deltat1*10**6,-paramsDaempfung[0]*2,4.48*10**-6 *paramsGes1[0]/2*10**3, 7.26*10**-6 *paramsGes1[0]/2*10**3, (VierteMessung-2*deltat2*10**6)[0]*10**-6 *1410 /2*10**3, unp.uarray((VierteMessung[1]-VierteMessung[0])*10**-6 *1410 /2*10**3, 0), unp.uarray((VierteMessung[2]-VierteMessung[1])*10**-6 *2500 /2*10**3, 0),unp.uarray((VierteMessung[3]-VierteMessung[2])*10**-6 *1410 /2*10**3, 0)]),unpFormat,[[r'\meter\per\second',"",True],[r'\meter\per\second',"",True],[r'\micro\second',"",True],[r'\micro\second',"",True],[r'\per\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',r'1.3f',True],[r'\milli\meter',r'1.3f',True],[r'\milli\meter',r'2.2f',True]]),convert(np.array([2730,2730]),floatFormat,[r'\meter\per\second','1.0f',True])+convert((r'-',r'-'),strFormat)+convert(unp.uarray([57,6.05,9.9],[2.5,0,0]),unpFormat,[[r'\per\meter',"",True],[r'\milli\meter',r'1.2f',True],[r'\milli\meter',r'1.2f',True]])+convert((r'-',r'-',r'-',r'-'),strFormat),convert(np.array([(2730-paramsGes2[0])/2730*100,(2730-paramsGes1[0])/2730*100]),unpFormat,[r'\percent','',True])+convert((r'-',r'-'),strFormat)+convert(np.array([(-paramsDaempfung[0]*2-unp.uarray(57,2.5))/unp.uarray(57,2.5)*100,(4.48*10**-6 *paramsGes1[0]/2*10**3-6.05)/6.05*100, (-7.26*10**-6 *paramsGes1[0]/2*10**3+9.90)/9.90*100]),unpFormat,[r'\percent','',True])+convert((r'-',r'-',r'-',r'-'),strFormat)],r'{Wert}&{gemessen}&{Literaturwert\cite{cAcryl},\cite{alphaAcryl}}&{Abweichung}','Ergebnisse', ['c ','c',r'c','c'])

data1 = np.genfromtxt(r'scripts/data1.txt', unpack=True)
#makeNewTable(data=data1, names=r'{$\Delta s/\si{\milli\meter}$} & {$N$}', filename='tab1', formats=[r'S[table-format=1.2]',r'S[table-format=4.0]'], formats2=[r'{:1.2f}',r'{:4.0f}'])
makeTable(
    [data1[0], data1[1], 2 * 10**6 / 5.017 * data1[0] / data1[1]],
    r'{' + r'$\Delta s/\si{\milli\meter}$' + r'} & {' + r'$N$' + r'} & {' +
    r'$\lambda/\si{\nano\metre}$' + r'}', 'tab1',
    ['S[table-format=1.2]', 'S[table-format=4.0]', 'S[table-format=3.1]'],
    ["%1.2f", "%4.0f", "%3.1f"])

data1[0] = data1[0] / 1000
Lambda = unp.uarray(*avg_and_sem(2 / 5.017 * data1[0] / data1[1]))
print(Lambda)

data2 = np.genfromtxt(r'scripts/data2.txt', unpack=True)
makeNewTable(data=data2,
             names=r'{$\Delta p/\si{\bar}$} & {$N$}',
             filename='tab2',
             formats=[r'S[table-format=1.2]', r'S[table-format=2.0]'],
             formats2=[r'{:1.2f}', r'{:2.0f}'])

p = unp.uarray(*avg_and_sem(data2[0])) * const.bar
N = unp.uarray(*avg_and_sem(data2[1]))
print(N)
L = 0.05

Beispiel #19
0
         Linear(x, params1[0] * 1000 * 10**6, params1[1] * 10**6),
         'b-',
         label=r'Ausgleichsgerade1')
plt.plot(v / 1000, B_2 * 10**6, 'mx', label=r'$B_\text{Ges,B}$')
plt.plot(x,
         Linear(x, params2[0] * 1000 * 10**6, params2[1] * 10**6),
         'c-',
         label=r'Ausgleichsgerade2')
plt.xlabel(r'$\nu/\si{\kilo\hertz}$')
plt.ylabel(r'$B/\si{\micro\tesla}$')
plt.xlim(0, 1100)
plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
plt.legend(loc='best')
plt.savefig('build/messung1.pdf')

print('horizontal B field:', avg_and_sem([params1[1], params2[1]]))


#Lande faktoren
def Lande(a):
    return 4 * const.pi * const.m_e / (const.e * a)


def Kernspin(g_F):
    return 1 / 2 * (2.0023 / g_F - 1)


g_F1 = Lande(a1)
g_F2 = Lande(a2)
print('g_F1:', g_F1)
print('g_F2:', g_F2)
Beispiel #20
0
# plt.xlim(0, t[-1]*100)
# plt.xlabel(r'$v/\si{\centi\meter\per\second}$')
# plt.ylabel(r'$\Delta f / \si{\hertz}$')
# plt.legend(loc='best')
# plt.tight_layout(pad=0, h_pad=1.08, w_pad=1.08)
# plt.savefig('build/'+'VgegenDeltaV')

# a = unp.uarray(params[0], np.sqrt(covar[0][0]))
# params = unp.uarray(params, np.sqrt(np.diag(covar)))
# makeNewTable([convert((r'$c_\text{1}$',r'$c_\text{2}$',r'$T_{\text{A}1}$',r'$T_{\text{A}2}$',r'$\alpha$',r'$D_1$',r'$D_2$',r'$A_1$',r'$A_2$',r'$A_3$',r'$A_4$'),strFormat),convert(np.array([paramsGes2[0],paramsGes1[0],deltat2*10**6,deltat1*10**6,-paramsDaempfung[0]*2,4.48*10**-6 *paramsGes1[0]/2*10**3, 7.26*10**-6 *paramsGes1[0]/2*10**3, (VierteMessung-2*deltat2*10**6)[0]*10**-6 *1410 /2*10**3, unp.uarray((VierteMessung[1]-VierteMessung[0])*10**-6 *1410 /2*10**3, 0), unp.uarray((VierteMessung[2]-VierteMessung[1])*10**-6 *2500 /2*10**3, 0),unp.uarray((VierteMessung[3]-VierteMessung[2])*10**-6 *1410 /2*10**3, 0)]),unpFormat,[[r'\meter\per\second',"",True],[r'\meter\per\second',"",True],[r'\micro\second',"",True],[r'\micro\second',"",True],[r'\per\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',"",True],[r'\milli\meter',r'1.3f',True],[r'\milli\meter',r'1.3f',True],[r'\milli\meter',r'2.2f',True]]),convert(np.array([2730,2730]),floatFormat,[r'\meter\per\second','1.0f',True])+convert((r'-',r'-'),strFormat)+convert(unp.uarray([57,6.05,9.9],[2.5,0,0]),unpFormat,[[r'\per\meter',"",True],[r'\milli\meter',r'1.2f',True],[r'\milli\meter',r'1.2f',True]])+convert((r'-',r'-',r'-',r'-'),strFormat),convert(np.array([(2730-paramsGes2[0])/2730*100,(2730-paramsGes1[0])/2730*100]),unpFormat,[r'\percent','',True])+convert((r'-',r'-'),strFormat)+convert(np.array([(-paramsDaempfung[0]*2-unp.uarray(57,2.5))/unp.uarray(57,2.5)*100,(4.48*10**-6 *paramsGes1[0]/2*10**3-6.05)/6.05*100, (-7.26*10**-6 *paramsGes1[0]/2*10**3+9.90)/9.90*100]),unpFormat,[r'\percent','',True])+convert((r'-',r'-',r'-',r'-'),strFormat)],r'{Wert}&{gemessen}&{Literaturwert\cite{cAcryl},\cite{alphaAcryl}}&{Abweichung}','Ergebnisse', ['c ','c',r'c','c'])

# Tabellen
lambd_a = np.genfromtxt('scripts/data3.txt', unpack=True)
phi_r, phi_l, phi = np.genfromtxt('scripts/data2.txt', unpack=True)
o_r, o_l, eta = np.genfromtxt('scripts/data1.txt', unpack=True)
phi_avg = avg_and_sem(phi)
print('Der Mittlere Winkel Phi ist:', phi_avg, '°')
eta = eta / 360 * 2 * np.pi
n = np.sin((eta + phi_avg[0] * 2 * np.pi / 360) / 2) / np.sin(
    phi_avg[0] * 2 * np.pi / 360 / 2)

makeTable(
    [phi_r, phi_l, phi], r'{' + r'$\phi_.r/\si{\degree}$' + r'} & {' +
    r'$\phi_.l/\si{\degree}$' + r'} & {' + r'$\phi/\si{\degree}$' + r'}',
    'tabphi',
    ['S[table-format=3.1]', 'S[table-format=3.1]', 'S[table-format=2.2]'],
    ["%3.1f", "%3.1f", "%2.2f"])

#n_err = np.sin(eta/2)*phi_avg[1]*2*np.pi/360/(np.cos(phi_avg[0]*2*np.pi/360)-1)
n_err = -1 / 2 * np.sin(eta / 2) * phi_avg[1] * 2 * np.pi / 360 / (np.sin(
    phi_avg[0] * np.pi / 360)**2)