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 17:31] – [Auswertung] lukaskoeppa_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 178: Line 182:
  
 Der Fehler ist hier aber eigentlich deutlich größer, da wir von einer homogenen Masseverteilung ausgehen, was offensichtlich nicht der Fall ist. 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.\pm 0.1$) ======+====== Messung 1 - Stab an Saite dünn ($r= 0.33 \pm 0.03$) ======
  
 Anfangsbedingungen: Anfangsbedingungen:
Line 198: 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.\pm 0.8)\frac{s^2}{m} \cdot L + (0.5 \pm 0.3)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.8 \pm 0.8)\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.0 \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.8 \pm 0.8)\frac{s^2}{m} (0.0 \pm 0.4)mm} = (\pm 110) 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 228: Line 232:
  
  
-$ T(L)^2 = (4.1 \pm 0.8)\frac{s^2}{m} \cdot L + (-0.1 \pm 0.3)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.1 \pm 0.8)\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.0 \pm 0.1)mm \Longrightarrow r^4 = (1.0 \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.1 \pm 0.8)\frac{s^2}{m} (1 \pm 0.4)mm^4} = (190 \pm 90) 10^\frac{kg}{s^2 m}  $+$ G = \frac{I}{2 \pi^3 \cdot st \cdot r^4 } = ( 20 \pm \cdot 10^{4}    \frac{kg}{s^2 m}$
  
 Diese Berechnung ist im Vergleich zur ersten deutlich plausibler.  Diese Berechnung ist im Vergleich zur ersten deutlich plausibler. 
Line 256: Line 260:
  
  
-$ T(L)^2 = (340 \pm 50)\frac{s^2}{m} \cdot L + (22 \pm 16)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 $(340 \pm 50)\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.0 \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 (340 \pm 50)\frac{s^2}{m} (81 \pm 4)mm^4} = (2.3 \pm 0.7) 10^\frac{kg}{s^2 m}$+$ G = \frac{I}{2 \pi^3 \cdot st \cdot r^4 } = ( 2 \pm \cdot 10^{1}    \frac{kg}{s^2 m}$
  
 Diese Berechnung scheitert an der Annahme eines harmonischen Potentials. Diese Berechnung scheitert an der Annahme eines harmonischen Potentials.
Line 285: Line 289:
  
  
-$ T(L)^2 = (311 \pm 7)\frac{s^2}{m} \cdot L + (-7 \pm 3) $+$ 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{(311 \pm 7)\frac{s^2}{m}}{(4.1 \pm 0.8)\frac{s^2}{m}} \cdot (4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2 = (3.7 \pm 1.1) 10^{-3} \ kg\ m^2 $+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 \cdot 10^{-4 \ kg\ m^2 $
 ====== Messung 5 - Topfdeckel 2 an Saite dick ====== ====== Messung 5 - Topfdeckel 2 an Saite dick ======
  
Line 310: Line 314:
  
  
-$ T(L)^2 = (60.8 \pm 0.3)\frac{s^2}{m} \cdot L + (-1.89 \pm 0.12)s^2 $+$ 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{(60.8 \pm 0.3)\frac{s^2}{m}}{(4.1 \pm 0.8)\frac{s^2}{m}} \cdot (4,8 \pm 1,2) \cdot 10^{-5}\ kg\ m^2 = (0.71 \pm 0.22) 10^{-3} \ kg\ m^2 $+Vergleicht man nun den Proportionalitätfaktor mit dem aus Messung 2 erhält man $ I_{Topf_2}= \frac{st_{Topf_2}}{st_{Stab}} I_{Stab70 \pm 18 ) \cdot 10^{-5}  \ kg\ m^2 $
  
 ====== Auswertung ====== ====== Auswertung ======
  
-Wir sehen also, dass sich bei der Berechnung  des Trägheitsmoments Experiment und Theorie gnaz gut decken. Für die zwei Topfdeckel erhalten wir+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_1, Theorie} = 3,97 \cdot 10^{-3} \ kg\ m^2 \longleftrightarrow  I_{Topf1, Experiment} = (3.7 \pm 1.1) 10^{-3} \ kg\ m^2 $
Line 322: Line 326:
 $ 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 $ $ 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 335: 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 362: 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 370: 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 385: 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>