예제 #1
0
  r'Bestimmung der Lagen der $K_\alpha$, $K_\beta$-Peaks durch Gaussfits an die Zählraten-Winkel-Abhängigkeit des NaCl-Kristalls.'
]

# Constants
d_LiF = 201.4 * cs.pico
rho_NaCl = 2.164 * cs.gram / cs.centi**3
M_NaCl = 58.44 * cs.gram

# (1) Analysis of the spectrum of the LiF-crystal
# Determination of planck's constant
U1 = 35.0 * cs.kilo
t1 = 5.0
beta1, n1 = np.loadtxt('data/255/data1.txt', unpack=True)
d_n1 = sqrt(n1 * t1) / t1
n1_0 = ms.mv(n1[0:7])
d_n1_0 = ms.dsto_mv(n1[0:7])

ms.pltext.initplot(num=1, title=titles[0], xlabel=r'$\beta$ / $^\circ$', ylabel=r'$n$ / (1/s)', fignum=True)
s1, d_s1, b1, d_b1 = ms.linreg(beta1[:20], n1[:20], d_n1[:20], fit_range=range(10, 13), plot=True)
beta1_G = (n1_0 - b1) / s1
d_beta1_G = beta1_G * sqrt((d_n1_0**2 + d_b1**2) / (n1_0 - b1)**2 + (d_s1 / s1)**2)
beta1_G *= cs.degree
d_beta1_G *= cs.degree
ld1_G = 2 * d_LiF * sin(beta1_G)
d_ld1_G = 2 * d_LiF * cos(beta1_G) * d_beta1_G
h1 = (cs.e * U1 / cs.c) * ld1_G
d_h1 = (cs.e * U1 / cs.c) * d_ld1_G
beta1_G2 = arcsin(ld1_G / d_LiF)
d_beta1_G2 = d_ld1_G / sqrt(d_LiF**2 - ld1_G**2)

print()
예제 #2
0
    74.821, 75.366, 74.457, 74.185, 74.73, 76.003, 75.003, 75.003, 74.003,
    74.73, 75.276, 75.639, 75.912, 75.73, 76.185, 77.548
])

dt = dx = dy = npfarray([])
for n in range(168):
    dt = np.append(dt, t[n + 1] - t[n])
    dx = np.append(dx, x[n + 1] - x[n])
    dy = np.append(dy, y[n + 1] - y[n])

r_k = 755e-9 / 2.
r_k_dsys = 30e-9 / 2.
T = npfarray([22.6, 23.0])
T_dsys = npfarray([0.1, 0.1])
T_mv = mv(T) + T0
T_dtot = dtot(dsys_mv(T_dsys), dsto_mv(T))
nu = 9.40e-4
nu_dsys = 0.05e-4

# Teilchenbewegung
pltext.initplot(num=1,
                title='Bewegung des Teilchens',
                xlabel='x in m',
                ylabel='y in m')
plt.plot(x, y, marker='s')
plt.savefig('fig1.pdf', format='pdf')

# mittleres Verschiebungsquadrat
r_sqr = dx**2 + dy**2
r_sqr_mv = mv(r_sqr)
r_sqr_dsto = dsto_mv(r_sqr)
예제 #3
0
    -0.00493333, 0.03506667, -0.00493333, -0.08493333, -0.08493333, 0.03506667,
    -0.00493333, 0.03506667, -0.00493333, 0.03506667, 0.03506667, -0.00493333,
    0.03506667, -0.00493333, -0.00493333, -0.00493333, -0.00493333, 0.03506667,
    -0.00493333, 0.03506667, 0.03506667, -0.00493333, 0.03506667, -0.00493333,
    0.03506667, -0.00493333, 0.03506667, -0.00493333, -0.00493333, 0.03506667,
    -0.00493333, 0.03506667
])
kl_v = 0.1e-3

# Wellenlänge Laser
ds = wl_se - wl_sa
ds_dsys = sqrt(wl_se_dsys**2 + wl_sa_dsys**2)
wl = 2. * ds / wl_m
wl_dsys = 2. / wl_m * sqrt(ds_dsys**2 + (wl_m_dsys / wl_m)**2)
wl_mv = mv(wl)
wl_mv_dsto = dsto_mv(wl)
wl_mv_dsys = dsys_mv(wl_dsys)
wl_mv_dtot = dtot(wl_mv_dsys, wl_mv_dsto)

print()
print('Wellenlänge Laser:')
print(
    tbl([
        lst(ds, ds_dsys, 'ds'),
        lst(wl_m, wl_m_dsys, 'm'),
        lst(wl, wl_dsys, 'wl')
    ], ))
print(val('Mitellwert', wl_mv, wl_mv_dtot))
print(sig('Abweichung', wl_mv, wl_mv_dtot, wl_lit, wl_lit_dsys))

# Brechungsindex Luft
예제 #4
0
# Untergrund
unterg = loadtxt('data/252_untergrund.dat', usecols=[1])

# Silber
n1 = loadtxt('data/252_n1.dat', usecols=[1])
n2 = loadtxt('data/252_n2.dat', usecols=[1])
n3 = loadtxt('data/252_n3.dat', usecols=[1])
n4 = loadtxt('data/252_n4.dat', usecols=[1])

N_ag = n1 + n2 + n3 + n4
N_ag_err = sqrt(N_ag)
t = arange(5, 405, 10)

unterg_ag_mv = mv(4 * unterg)
unterg_ag_mv_dsto = dsto_mv(4 * unterg, ddof=0)


def fitfunc(x, A1, l1, A2, l2):
    return A1 * exp(-l1 * x) + A2 * exp(-l2 * x) + unterg_ag_mv


def fitfunc_pf(x, A1, l1, A2, l2):
    return A1 * exp(-l1 * x) + A2 * exp(
        -l2 * x) + unterg_ag_mv + unterg_ag_mv_dsto


def fitfunc_mf(x, A1, l1, A2, l2):
    return A1 * exp(-l1 * x) + A2 * exp(
        -l2 * x) + unterg_ag_mv - unterg_ag_mv_dsto
예제 #5
0
U_mot = 24.0
U_mot_dsys = 0.1
I_mot = 2.3
I_mot_dsys = 0.1

km_U_heiz = 5.58
km_U_heiz_dsys = 0.04
km_I_heiz = 1.14 * 5
km_I_heiz_dsys = 0.02 * 5
km_f = 325.2 / 60.
km_f_dsys = 0.1 / 60.
km_dT = 22.1 - 18.65
km_dT_dsys = sqrt(0.25**2 + 0.1**2)
km_Vps = npfarray([199.5,198.4,200.7,200.1,200.5]) / 6e7
km_Vps_mv = mv(km_Vps)
km_Vps_dsys = dsto_mv(km_Vps)

gf_t = 180.
gf_t_dsys = 15.
gf_V = 1e-6
gf_V_dsys = 0.5e-6
gf_f = 306.5 / 60.
gf_f_dsys = 0.1 / 60.

wk_l = 0.250
wk_l_dsys = 0.005
wk_Vps = 199.0 / 6e7
wk_Vps_dsys = 1.5 / 6e7
wk_dT = 26.3 - 19.0
wk_dT_dsys = sqrt(2) * 0.1
wk_F = npfarray([0.0,0.2,0.4,0.6,0.8])
예제 #6
0
rh_p_dsys = 0.15e2

k_air_lit = 0.78 * 1.401 + 0.21 * 1.398 + 0.01 * 1.648
k_arg_lit = 1.648

# Clément & Desormes
h1 = cd_h1r - cd_h1l
h3 = cd_h3r - cd_h3l
hi_dsys = sqrt(2) * cd_hix_dsys

cd_k = h1 / (h1 - h3)
cd_k_dsys = hi_dsys / (h1 - h3) * sqrt((1 + h1 / (h1 - h3))**2 +
                                       (1 / (h1 - h3))**2)

cd_k_mv = mv(cd_k)
cd_k_dsto_mv = dsto_mv(cd_k)
cd_k_dsys_mv = dsys_mv(cd_k_dsys)
cd_k_dtot = sqrt(cd_k_dsto_mv**2 + cd_k_dsys_mv**2)

print()
print('Clément & Desormes:')
print()
print(tbl(['h1', 'h3', 'k'], [h1, h3, cd_k], [hi_dsys, hi_dsys, cd_k_dsys]))
print()
print(val('k', cd_k_mv, cd_k_dtot))
print(sig('dev', cd_k_mv, cd_k_dtot, k_air_lit))

# Rüchardt
r_air = rh_2r_air / 2.
r_air_dsys = rh_2r_dsys / 2.
T_air = rh_50T_air / 50.
예제 #7
0
dIz_1x15 = m_s * 0.15 / (2. * pi)**2 * sqrt((g * dslope_1x15)**2 +
                                            (dg * slope_1x15)**2)
Iz_1x20 = m_s * g * 0.20 * slope_1x20 / (2. * pi)**2
dIz_1x20 = m_s * 0.20 / (2. * pi)**2 * sqrt((g * dslope_1x20)**2 +
                                            (dg * slope_1x20)**2)
Iz_2x15 = 2. * m_s * g * 0.15 * slope_2x15 / (2. * pi)**2
dIz_2x15 = 2. * m_s * 0.15 / (2. * pi)**2 * sqrt((g * dslope_2x15)**2 +
                                                 (dg * slope_2x15)**2)
Iz_2x20 = 2. * m_s * g * 0.20 * slope_2x20 / (2. * pi)**2
dIz_2x20 = 2. * m_s * 0.20 / (2. * pi)**2 * sqrt((g * dslope_2x20)**2 +
                                                 (dg * slope_2x20)**2)

Iz_list = np.array([Iz_1x15, Iz_1x20, Iz_2x15, Iz_2x20])
dIz_list = np.array([dIz_1x15, dIz_1x20, dIz_2x15, dIz_2x20])
Iz = mv(Iz_list)
Iz_dsto = dsto_mv(Iz_list)
Iz_dsys = dsys_mv(dIz_list)
Iz_dtot = dtot(Iz_dsto, Iz_dsys)

tblstr = ['1@15', '1@20', '2@15', '2@20']

print()
print('Frequency f:')
print(
    tbl(tblstr, [f_m1x15, f_m1x20, f_m2x15, f_m2x20],
        [df_m1x15, df_m1x20, df_m2x15, df_m2x20]))
print()
print('Linreg results (slope / yitc):')
print(
    tbl(tblstr, [[slope_1x15, yitc_1x15], [slope_1x20, yitc_1x20],
                 [slope_2x15, yitc_2x15], [slope_2x20, yitc_2x20]],
예제 #8
0
ΔT_Ag = 10.0
ΔT_In = 120.0
T0 = 8 * cs.minute
T_Ag = 400
T_In = 50 * cs.minute

n0 = np.loadtxt('data/252/252_1j.dat', usecols=[1], unpack=True)
n_Ag_1 = np.loadtxt('data/252/252_2j.dat', usecols=[1], unpack=True)
n_Ag_2 = np.loadtxt('data/252/252_3j.dat', usecols=[1], unpack=True)
n_Ag_3 = np.loadtxt('data/252/252_4j.dat', usecols=[1], unpack=True)
n_Ag_4 = np.loadtxt('data/252/252_5j.dat', usecols=[1], unpack=True)
n_In = np.loadtxt('data/252/252_6j.dat', usecols=[1], unpack=True)

# Background radiation
n0_m = ms.mv(n0 / ΔT0)
d_n0_m = ms.dsto_mv(n0 / ΔT0)


# Fit function
def f_Ag(x, A1, λ1, A2, λ2):
    return A1 * exp(-λ1 * x) + A2 * exp(-λ2 * x)


def f_In(x, A, λ):
    return A * exp(-λ * x)


# Ag decay
t_Ag = np.arange(ΔT_Ag / 2, T_Ag + ΔT_Ag / 2, ΔT_Ag)
N_Ag = (n_Ag_1 + n_Ag_2 + n_Ag_3 + n_Ag_4)
d_N_Ag = sqrt(N_Ag) / (4 * ΔT_Ag)