Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
| Download
Views: 1137
from sympy import * from sympy import N as Num # 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 if symbolic: # quantity = symbol: a, F, G = var("a, F, G") else: # Derived units: N = kg*m/s/s # factors: a_val = 1 F_val = 1 G_val = 1 # quantity = factor times unit: a = a_val * m F = F_val * N G = G_val * N print("\n--- a: -------------------------------") # Unknowns: Ax, Ay, Az, Bx, By, Cy = var("A_x, A_y, A_z, B_x, B_y, C_y") F, G = var("F, G") rA = Matrix([ -a, 0, 0 ]) rB = Matrix([ 0, 0, 2*a ]) rC = Matrix([ -a, 0, 2*a ]) rF = Matrix([ -a, 0, a ]) rG = Matrix([ 0, 0, a ]) FA = Matrix([ Ax, Ay, Az ]) FB = Matrix([ Bx, By, 0 ]) FC = Matrix([ 0, Cy, 0 ]) FF = Matrix([ F, 0, 0 ]) FG = Matrix([ 0, G, 0 ]) MA = rA.cross(FA) MB = rB.cross(FB) MC = rC.cross(FC) MF = rF.cross(FF) MG = rG.cross(FG) sum_F = FA + FB + FC + FF + FG sum_M = MA + MB + MC + MF + MG Zero = Matrix([ 0, 0, 0 ]) eq_F = Eq(Zero, sum_F) eq_M = Eq(Zero, sum_M) sol=solve([eq_F, eq_M], [Ax, Ay, Az, Bx, By, Cy]) pprint(sol)
--- User input ----------------------- --- a: ------------------------------- -F -G -F G {A_x: ---, A_y: ---, A_z: 0, B_x: ---, B_y: -G, C_y: -} 2 2 2 2