1.5.A
Gegeben
Symbole:
Größen:
Und abhängig hiervon:
a) Geometrie
Für die gegebenen Symbole: Berechnen Sie:
b) Freikörperbild
Berechnen Sie die Resultierende der verteilten Kraft.
Schneiden Sie an den Lagern frei, sodass die Lagerreaktionen sichtbar werden.
Zeichnen Sie den Balken (ohne Lager) in einem Freikörperbild.
c) Lagerreaktionen
Für die gegebenen Größen: Berechnen Sie alle Lagerreaktionen.
Lösung des Linearen Gleichungssystems:Lösung
Source Code eines Programms dazu: Programm ausführen? Dazu: Copy: Source Code in die Zwischenablage kopieren. Paste: Source Code ins Eingabefeld hinter Play: Knopf SymPy
from sympy.physics.units import kg, m, s
from sympy import pi, S, pprint, symbols, cos, sin, Matrix, sqrt, 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
# ---
F, q = symbols("F, q")
a = symbols("a", positive=True)
sub_list=[
( F, 100 *N ),
( q, 24 *N/m ),
( a, 3 *m ),
]
b = 4*a/3
c = sqrt(a**2 + b**2)
pprint("\nR:")
R = c*q
printout(R)
pprint("\nR / N:")
printout(R, unit=N, prec="nil", sub_list=sub_list)
# Unknowns:
Ah, Av, B = symbols("Ah, Av, B")
pprint("\nca, sa:")
ca, sa = b/c, a/c
pprint(ca)
pprint(sa)
eq1 = Eq(0, Ah + B*sa - R*sa)
eq2 = Eq(0, F - Av - B*ca + R*ca)
eq3 = Eq(0, c*B - c/2*R + a*F - 2*a*Av)
# Solve for unknowns:
eqns = [eq1, eq2, eq3]
unks = [Ah, Av, B]
sol = solve(eqns, unks)
pprint(sol)
Ah = sol[Ah]
Av = sol[Av]
B = sol[B]
pprint("\n(Ah, Av, B) / N:")
for R in [Ah, Av, B]:
printout(R, unit=N, sub_list=sub_list)
[ ]: einfügen.▶ drücken.