""" 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)
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
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,
# 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
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
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()
], ["%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)
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)
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)
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)):
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"])
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]'
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]
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])
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]'
# 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
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)
# 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)