Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
| Download
Views: 1137
from sympy import * from sympy import N as Num # pie is better than pi pie = 2*pi # SI units: m = Symbol("m", positive=True) s = Symbol("s", positive=True) kg = Symbol("kg", positive=True) print("\n--- User input -----------------------") symbolic = True symbolic = False half = S(1)/2 if symbolic: # quantity = symbol: a = var("a") mass = var("m") g = var("g") M = var("M") else: # Derived units: N = kg*m/s/s # factors: a_val = half mass_val = 10 g_val = 10 M_val = 10 # # quantity = factor times unit: a = a_val * m mass = mass_val * kg g = g_val * m/s/s M = M_val * N*m print("\n--- a: -------------------------------") # Unknowns: Ah, Av, B, N1, N2, N3, S = var("A_h, A_v, B, N1, N2, N3, S") # pie = 2 pi: # 45 deg = pie/8 alpha = pie/8 # for printing equations: # alpha = var("alpha") ca = cos(alpha) sa = sin(alpha) # 1: eq1 = Eq(0, N1 - S*sa) eq2 = Eq(0, S*ca- mass*g) # 2: eq3 = Eq(0, N2 - N1) eq4 = Eq(0, N3 - mass*g) # 3: eq5 = Eq(0, Ah - N2) eq6 = Eq(0, Av + B - N3) eq7 = Eq(0, M + 2*a*B + half*a*N2 - 5*a/2*N3) eqs=[eq1, eq2, eq3, eq4, eq5, eq6, eq7] for eq in eqs: pprint(latex(eq)) print("\n--- b: -------------------------------") sol = solve(eqs, [Ah, Av, B, N1, N2, N3, S]) for x in sorted(sol,key=default_sort_key): pprint(x) pprint(sol[x])
--- User input ----------------------- --- a: ------------------------------- 0 = N_{1} - \frac{\sqrt{2} S}{2} 0 = \frac{\sqrt{2} S}{2} - \frac{100 kg}{s^{2}} m 0 = - N_{1} + N_{2} 0 = N_{3} - \frac{100 kg}{s^{2}} m 0 = A_{h} - N_{2} 0 = A_{v} + B - N_{3} 0 = B m + \frac{N_{2} m}{4} - \frac{5 N_{3}}{4} m + \frac{10 kg}{s^{2}} m^{2} --- b: ------------------------------- A_h 100*kg*m -------- 2 s A_v 10*kg*m ------- 2 s B 90*kg*m ------- 2 s N1 100*kg*m -------- 2 s N2 100*kg*m -------- 2 s N3 100*kg*m -------- 2 s S ___ 100*\/ 2 *kg*m -------------- 2 s