meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
a_mechanik:drehschwingungen:gruppenseiten:gruppe342:start [18 January 2021 16:42] – [Messung 1 - Stab an Saite dünn ($r= 0.4 \pm 0.1$)] juliusriekenberga_mechanik:drehschwingungen:gruppenseiten:gruppe342:start [26 January 2021 15:19] (current) juliusriekenberg
Line 1: Line 1:
 ======= Drehschwingung - Gruppe 342 ======= ======= Drehschwingung - Gruppe 342 =======
 +
 +Lukas Köpp 10029243
 +
 +Julius Riekenberg 10025155
  
  
Line 177: Line 181:
 $ I_2 = (0,43\pm 0,02) \cdot 10^{-3} \ kg\ m^2$ $ I_2 = (0,43\pm 0,02) \cdot 10^{-3} \ kg\ m^2$
  
-====== Messung 1 - Stab an Saite dünn ($r= 0.\pm 0.1$) ======+Der Fehler ist hier aber eigentlich deutlich größer, da wir von einer homogenen Masseverteilung ausgehen, was offensichtlich nicht der Fall ist. 
 +====== Messung 1 - Stab an Saite dünn ($r= 0.33 \pm 0.03$) ======
  
 Anfangsbedingungen: Anfangsbedingungen:
Line 197: Line 202:
 {{:a_mechanik:drehschwingungen:gruppenseiten:gruppe342:drehschwingung.messung1.png?nolink&400 |}}  {{:a_mechanik:drehschwingungen:gruppenseiten:gruppe342:drehschwingung.messung1.png?nolink&400 |}} 
  
-$ T(L)^2 = (4.788 \pm 0.841)\frac{s^2}{m} \cdot L + (0.473 \pm 0.326)s^2 $+$ T(L)^2 = ( 6.01 \pm 0.27 ) \frac{s^2}{m} \cdot L  $
  
-Aus der Theorie erwarten wir eine Steigung die sich aus $(4.788 \pm 0.841)\frac{s^2}{m} = \frac{I}{2 \pi^3 G r^4}$ zusammensetzt. Außerdem kennen wir schon $ I = (4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2 $ und $ r = (0.\pm 0.1)mm \Longrightarrow r^4 = (0.0256 \pm 0.4)mm $. Nach Umstellen ergibt sich:+Aus der Theorie erwarten wir eine Steigung die sich aus $st = \frac{I}{2 \pi^3 G r^4}$ zusammensetzt. Außerdem kennen wir schon $ I = (4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2 $ und $ r = (0.33 \pm 0.03)mm \Longrightarrow r^4 = ( 12 \pm \cdot 10^{-15} m $. Nach Umstellen ergibt sich:
  
-$ G = \frac{(4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2}{2 \pi^3 (4.788 \pm 0.841)\frac{s^2}{m} (0.0256 \pm 0.4)mm} = (\pm 115) 10^6 \frac{kg}{s^2 m}$+$ G = \frac{I}{2 \pi^3 \cdot st \cdot r^4 } = ( 10 \pm \cdot 10^{6}   \frac{kg}{s^2 m}$
  
 Da der relative Fehler viel zu groß ist und der $T^2$-Achsenabschnitt auch ziemlich groß ist, ist dieser Wert für weitere Berechnungen nicht emphelenswert. Da der relative Fehler viel zu groß ist und der $T^2$-Achsenabschnitt auch ziemlich groß ist, ist dieser Wert für weitere Berechnungen nicht emphelenswert.
  
  
-====== Messung 2 - Stab an Saite dick ($r = (1 \pm 0.1)mm$)======+====== Messung 2 - Stab an Saite dick ($r = (1 \pm 0.025)mm$)======
  
 Anfangsbedingungen: Anfangsbedingungen:
Line 227: Line 232:
  
  
-$ T(L)^2 = (4.093 \pm 0.757)\frac{s^2}{m} \cdot L + (-0.142 \pm 0.349)s^2 $+$ T(L)^2 = ( 383 \pm 20 \cdot 10^{-2} \frac{s^2}{m} \cdot L $
  
-Aus der Theorie erwarten wir eine Steigung die sich aus $(4.093 \pm 0.757)\frac{s^2}{m} = \frac{I}{2 \pi^3 G r^4}$ zusammensetzt. Außerdem kennen wir schon $ I = (4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2 $ und $ r = (1 \pm 0.1)mm \Longrightarrow r^4 = (\pm 0.4)mm^4 $. Nach Umstellen ergibt sich: +Aus der Theorie erwarten wir eine Steigung die sich aus $ st = \frac{I}{2 \pi^3 G r^4}$ zusammensetzt. Außerdem kennen wir schon $ I = (4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2 $ und $ r = (1.0 \pm 0.025)mm \Longrightarrow r^4 = ( 100 \pm 10 ) \cdot 10^{-14} m^4 $Nach Umstellen ergibt sich:
- +
-$ G = \frac{(4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2}{2 \pi^3 (4.093 \pm 0.757)\frac{s^2}{m} (1 \pm 0.4)mm^4} = (190 \pm 90) 10^3 \frac{kg}{s^2 m}  $+
  
 +$ G = \frac{I}{2 \pi^3 \cdot st \cdot r^4 } = ( 20 \pm 6 ) \cdot 10^{4}    \frac{kg}{s^2 m}$
  
 +Diese Berechnung ist im Vergleich zur ersten deutlich plausibler. 
  
 ====== Messung 3 - Stab an Schnürsenkel ($r = (3 \pm 1)mm$)====== ====== Messung 3 - Stab an Schnürsenkel ($r = (3 \pm 1)mm$)======
Line 255: Line 260:
  
  
-$ T(L)^2 = (335.567 \pm 53.107)\frac{s^2}{m} \cdot L + (21.746 \pm 16.015)s^2 $+$ T(L)^2 = ( 43 \pm \cdot 10^{1} \frac{s^2}{m} \cdot L $
  
-Aus der Theorie erwarten wir eine Steigung die sich aus $(335.567 \pm 53.107)\frac{s^2}{m} = \frac{I}{2 \pi^3 G r^4}$ zusammensetzt. Außerdem kennen wir schon $ I = (4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2 $ und $ r = (\pm 0.1)mm \Longrightarrow r^4 = (81 \pm 4)mm^4 $. Nach Umstellen ergibt sich:+Aus der Theorie erwarten wir eine Steigung die sich aus $ st = \frac{I}{2 \pi^3 G r^4}$ zusammensetzt. Außerdem kennen wir schon $ I = (4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2 $ und $ r = (\pm 1)mm \Longrightarrow r^4 = ( \pm 11 \cdot 10^{-11} m^4 $. Nach Umstellen ergibt sich:
  
-$ G = \frac{(4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2}{2 \pi^3 (335.567 \pm 53.107)\frac{s^2}{m} (81 \pm 4)mm^4= (2334 \pm 735)\frac{kg}{s^2 m}$+$ G = \frac{I}{2 \pi^3 \cdot st \cdot r^\pm \cdot 10^{1   \frac{kg}{s^2 m}$
  
 +Diese Berechnung scheitert an der Annahme eines harmonischen Potentials.
 ====== Messung 4 - Topfdeckel 1 an Saite dick ====== ====== Messung 4 - Topfdeckel 1 an Saite dick ======
  
-Durchmesser $ d = (0.21 \pm 0.005) m $+Durchmesser $ d = (0.210 \pm 0.005) m $
  
 Masse $ m = (0.07 + 0.65) kg $ Masse $ m = (0.07 + 0.65) kg $
Line 283: Line 289:
  
  
-$ T(L)^2 = (311.731 \pm 7.244) \cdot L + -7.110 \pm 2.732 $+$ T(L)^2 = ( 290 \pm 7 ) \frac{s^2}{m} \cdot L $
  
 +Vergleicht man nun den Proportionalitätfaktor mit dem aus Messung 2 erhält man $ I_{Topf1}= \frac{st_{Topf1}}{st_{Stab}} \cdot I_{Stab} = ( 36 \pm 9 ) \cdot 10^{-4}  \ kg\ m^2 $
 ====== Messung 5 - Topfdeckel 2 an Saite dick ====== ====== Messung 5 - Topfdeckel 2 an Saite dick ======
  
-Durchmesser $ d = (0.17 \pm 0.005) m $+Durchmesser $ d = (0.170 \pm 0.005) m $
  
 Masse $ m = (0.07 + 0.05) kg $ Masse $ m = (0.07 + 0.05) kg $
Line 307: Line 314:
  
  
-$ T(L)^2 = (60.820 \pm 0.336) \cdot L -1.885 \pm 0.121 $+$ T(L)^2 = ( 558 \pm 15 \cdot 10^{-1}\frac{s^2}{m} \cdot L 
 + 
 +Vergleicht man nun den Proportionalitätfaktor mit dem aus Messung 2 erhält man $ I_{Topf_2}= \frac{st_{Topf_2}}{st_{Stab}} I_{Stab} = ( 70 \pm 18 ) \cdot 10^{-5}  \ kg\ m^2 $ 
 + 
 +====== Auswertung ====== 
 + 
 +Für die zwei Topfdeckel erhalten wir 
 + 
 +$ I_{Topf_1, Theorie} = 3,97 \cdot 10^{-3} \ kg\ m^2 \longleftrightarrow  I_{Topf1, Experiment} = (3.7 \pm 1.1) 10^{-3} \ kg\ m^2 $ 
 + 
 +$ I_{Topf_2, Theoie} = 0,43 \cdot 10^{-3} \ kg\ m^2 \longleftrightarrow I_{Topf_2} = (0.71 \pm 0.22) 10^{-3} \ kg\ m^2 $ 
 + 
 +Wir sehen, dass wir für die höhere Masse im Fehlerintervall liegen. Bei höherer Masse ist möglicherweise das Modell des Torsionsmodules treffender und mögliche Störquellen weniger einflussreich.
  
 ===== Code zu den Plots ===== ===== Code zu den Plots =====
  
 <code python > <code python >
- 
 import numpy as np import numpy as np
 import matplotlib.pyplot as plt import matplotlib.pyplot as plt
 from scipy import stats from scipy import stats
 +from scipy.odr import *
 +from help import string_correctly, err_evolution
  
 ul = 0.03 ul = 0.03
Line 321: Line 341:
  
 mess1 = {'val': np.array([[0.56, 17.5], [0.42, 15.9], [0.35, 15.6], [0.29, 12.9], [0.24, 12.58]]), 'phi': np.pi, mess1 = {'val': np.array([[0.56, 17.5], [0.42, 15.9], [0.35, 15.6], [0.29, 12.9], [0.24, 12.58]]), 'phi': np.pi,
-         'nt': 10}+         'nt': 10, 'r': 1 / 3 * 10 ** - 3, 'r_err': 0.1 / 3 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
  
 mess2 = {'val': np.array([[0.53, 13.44], [0.62, 16.32], [0.47, 12.68], [0.35, 11.49], [0.23, 9.47]]), 'phi': np.pi, mess2 = {'val': np.array([[0.53, 13.44], [0.62, 16.32], [0.47, 12.68], [0.35, 11.49], [0.23, 9.47]]), 'phi': np.pi,
-         'nt': 10}+         'nt': 10, 'r': 1 * 10 ** - 3, 'r_err': 0.1 / 4 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
  
 mess3 = {'val': np.array([[0.48, 26.86], [0.18, 19.37], [0.1, 13.58]]), 'phi': 4 * np.pi, mess3 = {'val': np.array([[0.48, 26.86], [0.18, 19.37], [0.1, 13.58]]), 'phi': 4 * np.pi,
-         'nt': 2}+         'nt': 2, 'r': 3 * 10 ** - 3, 'r_err': 1 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
  
 mess4 = {'val': np.array([[0.56, 38.88], [0.29, 27.11], [0.17, 20.57]]), 'phi': np.pi, mess4 = {'val': np.array([[0.56, 38.88], [0.29, 27.11], [0.17, 20.57]]), 'phi': np.pi,
-         'nt': 3}+         'nt': 3, 'r': 1 * 10 ** - 3, 'r_err': 0.1 / 4 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
  
 mess5 = {'val': np.array([[0.50, 26.69], [0.33, 21.36], [0.17, 14.51]]), 'phi': np.pi, mess5 = {'val': np.array([[0.50, 26.69], [0.33, 21.36], [0.17, 14.51]]), 'phi': np.pi,
-         'nt': 5}+         'nt': 5, 'r': 1 * 10 ** - 3, 'r_err': 0.1 / 4 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5} 
 + 
 + 
 +def lin(a, x): 
 +    return a * x 
 + 
 + 
 +def r_4(r): 
 +    return r ** 4 
 + 
 + 
 +def torsion(i, r4, slope): 
 +    return i / (2 * np.pi ** 3 * r4 * slope) 
 + 
 + 
 +def trägmom(i2, slope1, slope2): 
 +    return i2 * slope1 / slope2 
  
 messes = [mess1, mess2, mess3, mess4, mess5] messes = [mess1, mess2, mess3, mess4, mess5]
Line 348: Line 385:
     tq_max = max(t_quad)     tq_max = max(t_quad)
     tq_mean = sum(t_quad) / len(t_quad)     tq_mean = sum(t_quad) / len(t_quad)
 +    uts = [2 * tq * ut / (nt ** 2) for tq in t_quad]
     sol = stats.linregress(lengths[:len(t_quad)], t_quad)     sol = stats.linregress(lengths[:len(t_quad)], t_quad)
-    fit = [sol.slope * l + sol.intercept for l in lens]+    lin_model = Model(lin) 
 +    data = RealData(lengths[:len(t_quad)], t_quad, sx=ul, sy=uts) 
 +    sol_real = ODR(data, lin_model, beta0=[1.]).run() 
 +    fit = [sol_real.beta[0] * l for l in lens]
     dls = [l - l_mean for l in lengths]     dls = [l - l_mean for l in lengths]
     sdl = sum([abs(dl) for dl in dls]) / len(dls)     sdl = sum([abs(dl) for dl in dls]) / len(dls)
Line 356: Line 397:
     covltq = sum([dls[i] * dtqs[i] for i in range(len(dls))]) / (len(dls) - 1)     covltq = sum([dls[i] * dtqs[i] for i in range(len(dls))]) / (len(dls) - 1)
     corltq = covltq / (sdl * sdtq)     corltq = covltq / (sdl * sdtq)
-    print('(%.3f' % (round(sol.slope, 3)) + ' \pm ' + '%.3f' % (round(sol.stderr, 3)) + ') \cdot L + ' + '(%.3f' % ( 
-        round(sol.intercept, 3)) + ' \pm ' + '%.3f)' % (round(sol.intercept_stderr, 3))) 
     fig = plt.figure(figsize=(6, 6))     fig = plt.figure(figsize=(6, 6))
     ax = fig.add_subplot(111)     ax = fig.add_subplot(111)
-    ax.errorbar(lengths, [time ** 2 for time in times], linestyle='', marker='', xerr=ul, yerr=2 * tq_mean * ut / nt,+    ax.errorbar(lengths, [time ** 2 for time in times], 
 +                linestyle='', marker='', xerr=ul, 
 +                yerr=2 * tq_mean * ut / (nt ** 2),
                 label='Messwerte')                 label='Messwerte')
-    ax.plot(lens, fit, linestyle='-', label='Linfit mit $R^2 =$' + "%.3f" % (round(sol.rvalue ** 2, 3)))+    ax.plot(lens, fit, linestyle='-', 
 +            label='Linfit mit $R^2 =$' + "%.3f" % (round(sol.rvalue ** 2, 3)))
     ax.set_xlim(0, 1.1 * l_max)     ax.set_xlim(0, 1.1 * l_max)
     ax.set_ylim(0, 1.1 * tq_max)     ax.set_ylim(0, 1.1 * tq_max)
Line 371: Line 413:
     plt.savefig('Drehschwingung.Messung' + str(j + 1) + '.png')     plt.savefig('Drehschwingung.Messung' + str(j + 1) + '.png')
     plt.show()     plt.show()
 +    slope = sol_real.beta[0]
 +    slope_err = sol_real.sd_beta[0]
 +    print(j + 1, ':')
 +    print('Slope: ', string_correctly(slope, slope_err))
 +    if j < 3:
 +        r = mess['r']
 +        r_err = mess['r_err']
 +        i = mess['i']
 +        i_err = mess['i_err']
 +        if j == 1:
 +            i2 = i
 +            i2_err = i_err
 +            slope2 = slope
 +            slope2_err = slope_err
 +        r4, r4_err = err_evolution(r_4, [r], [r_err])
 +        g, g_err = err_evolution(torsion, [i, r4, slope], [i_err, r4_err, slope_err])
 +        print('r^4: ', string_correctly(r4, r4_err))
 +        print('g: ', string_correctly(g, g_err), end='\n\n\n')
 +    else:
 +        i, i_err = err_evolution(trägmom, [i2, slope, slope2], [i2_err, slope_err, slope2_err])
 +        print('I: ', string_correctly(i, i_err), end='\n\n\n')
 +
 +</code>
 +        
 +
 +
 +===== Hilfscode =====
 +<code python>
 +def round_correctly(val, err):
 +    first_sign = 0
 +    while err // (10 ** first_sign) > 0:
 +        first_sign += 1
 +    while err // (10 ** first_sign) == 0:
 +        first_sign -= 1
 +    if err // (10 ** first_sign) < 3:
 +        first_sign -= 1
 +    return round(val * 10 ** -first_sign), round(err * 10 ** -first_sign), first_sign
 +
 +
 +def lin_fit_label(sol, xstr):
 +    return '$Fit = ' + string_correctly(sol.slope, sol.stderr) + ' \\cdot ' + xstr + ' + ' + string_correctly(
 +        sol.intercept, sol.intercept_stderr) + '$;  $R^2 = ' + str(round(sol.rvalue ** 2, 3)) + '$'
 +
 +
 +def string_correctly(val, err):
 +    val, err, pot = round_correctly(val, err)
 +    return ' ( ' + str(int(val)) + ' \pm ' + str(int(err)) + ' )' + (' \\cdot 10^{' + str(pot) + '} ') * (pot != 0)
 +
 +
 +def err_evolution(func, params, errors):
 +    val = func(*params)
 +    err_q = 0
 +    for i in range(len(params)):
 +        _, _, pot = round_correctly(params[i], errors[i])
 +        h = 10 ** (pot - 5)
 +        upper = (params[j] + h * (j == i) for j in range(len(params)))
 +        lower = (params[j] - h * (j == i) for j in range(len(params)))
 +        diff = (func(*upper) - func(*lower)) / (2 * h)
 +        err_q += (diff * errors[i]) ** 2
 +    return val, err_q ** 0.5
  
 </code> </code>