1.4.2.C
Gegeben
Symbole:
Größen:
Berechnen Sie die Resultierende und die Position ihrer Wirkungslinie. Gehen Sie wie folgt vor.
a) Resultierende
Berechnen Sie die Resultierende \(R\). Verwenden Sie zuerst die gegebenen Symbole. Und setzen Sie dann die gegebenen Größen ein. Zeigen Sie, dass gerundet auf Rundestellenwert \(0{,}1\), gilt:
Lösung
b) Wirkungslinie
Zeigen Sie, dass für die Position \(h\) der Resultierenden gilt:
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, integrate
# 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
# ---
q, a = symbols("q, a")
sub_list=[
(q, 1*N/m),
(a, 5*m),
]
x = symbols("x")
q = q*(x/a)**2
pprint("\nR:")
R = integrate(q, (x, 0, a))
printout(R, unit=1, prec="nil", sub_list=[])
pprint("\nR / N:")
printout(R, unit=N, prec=1, sub_list=sub_list)
pprint("\nh:")
h = integrate(q*x, (x, 0, a))/R
pprint(h)
pprint("\nh / m:")
printout(h, unit=m, prec="nil", sub_list=sub_list)
[ ]: einfügen.▶ drücken.