1.6.C

Gegeben

../../../_images/1.6.C.png

Symbole: \(F > 0, b\)

  • \(F\) und \(b\) sind fest.

  • Aber \(\alpha\) und damit \(h(\alpha)\) sind variabel.

  • Wenn der Winkel \(\alpha\) kleiner wird, wird die Höhe \(h\) größer.

Behauptung: Die Beträge aller Stabkräfte werden kleiner, falls \(\alpha\) kleiner wird. Ist diese Behauptung wahr? Gehen Sie wie folgt vor, um das zu prüfen.

a) Lagerreaktionen

Berechnen Sie die Lagerreaktionen bei A und B.

Lösung

b) Stabkräfte

Berechnen Sie die Stabkräfte für \(0^\circ < \alpha < 90^\circ\).

Lösung

../../../_images/1.6.C_2.png

Lösung:

\[\begin{split}S_1 = S_2 &= - \tfrac12 \tfrac{F}{c_\alpha} \\ S_3 &= \tfrac12 F\ t_\alpha\end{split}\]

c) Beträge der Stabkräfte

Berechnen Sie die Beträge der Stabkräfte.

Lösung

\[\begin{split}| S_1 | &= \tfrac12 \tfrac{F}{\cos\alpha} = | S_2 | \\ | S_3 | &= \tfrac12 F\tan\alpha\end{split}\]

d) Einfluss von α

Berechnen Sie, wie sich die Beträge der Stabkräfte abhängig von \(\alpha\) ändern.

Lösung

../../../_images/trig.png

Proportionalitäten :

\[\begin{split}| S_1 |, | S_2 | &\propto \tfrac{1}{\cos\alpha} \\ | S_3 | &\propto \tan\alpha\end{split}\]

Für \(0<\alpha<90^\circ\): Mit kleiner werdendem \(\alpha\):

  • wird \(\tfrac{1}{\cos\alpha}\) kleiner, und darum werden \(|S_1|\) und \(|S_2|\) kleiner.

  • wird \(\tan\alpha\) kleiner, und darum wird \(|S_3|\) kleiner.

SymPy

Source Code eines Programms dazu:

from sympy.physics.units import kg, m, s
from sympy import pi, S, pprint, symbols, cos, sin, Matrix, Eq, solve

# Units:
N         =  kg*m/s**2
k, M, G   =  10**3, 10**6, 10**9
kN        =  k*N
Pa        =  N/m**2
MPa, GPa  =  M*Pa, G*Pa
deg       =  pi/180
half      =  S(1)/2

# Rounding:
def iso_round(x, pv):
    try:
        x = float(x)
        tmp = round(x, pv)
    except TypeError:
        x = x.evalf()
        from functools import partial
        func = partial(round, ndigits = pv)
        tmp = x.applyfunc(func)
    return tmp

# Printing:
def printout(x, unit=1, prec="nil", sub_list=[]):
    x = x.subs(sub_list)
    x /= unit
    try: 
        x = x.applyfunc(simplify)
    except:
        tmp = x.simplify()
        if tmp != None:
            x = tmp
    if prec != "nil":
        x = iso_round(x, prec)
    pprint(x)
    return

def print_dict(sol, unit=1, unit_str=None, prec="nil", sub_list=[]):
    # Sort:
    tmp = {str(k): v for k, v in sol.items()}
    tmp = sorted(tmp.items())
    for k, v in tmp:
        if unit_str:
            print("\n"+str(k) + " / " + unit_str + ":")
        else:
            print("\n"+str(k) + ":")
        v = v.subs(sub_list)
        v /= unit
        try: 
            v = v.applyfunc(simplify)
        except:
            v = v.simplify()
        if prec != "nil":
            v = iso_round(v, prec)
        pprint(v)


b, F = symbols("b, F", positive=True)

sub_list = [
    ( b, 3 *m ),
    ( F, 1 *N )
    ]

alpha = symbols("alpha")
ca = cos(alpha)
sa = sin(alpha)

S1, S2, S3 = symbols("S1, S2, S3")

eq1 = Eq(S1, S2)
eq2 = Eq(0, F + S1*ca + S2*ca)
eq3 = Eq(0, S3 + S1*sa)

eqs=[eq1, eq2, eq3]
sol = solve(eqs, [S1, S2, S3])
pprint(sol)

Programm ausführen? Dazu:

  1. Copy: Source Code in die Zwischenablage kopieren.

  2. Paste: Source Code ins Eingabefeld hinter [ ]: einfügen.

  3. Play: Knopf ▶ drücken.