q_vec, omega_vec, q1, q2, q3, w1, w2, w3 = \
sym.symbols('q_vec, omega_vec, q1, q2, q3, w1, w2, w3')
q_0_dot_str = '.5 * dot(q_vec, omega_vec)'
q_0_dot_symp = sym.sympify(q_0_dot_str)
q_0_dot_symp = q_0_dot_symp.subs([(q_vec, sym.Matrix([q1, q2, q3]), \
(omega_vec, sym.Matrix([w1, w2, w3]).T))])
q_0_dot_fcn = lambdify((q1, q2, q3, w1, w2, w3), q_0_dot_symp, 'numpy')
-ODER-Python Sympy Ersatz symbolische Matrix für (in a) Symbol
q_0_dot_str = '.5 * dot(q_vec, omega_vec)'
q_0_dot_symp = sym.sympify(q_0_dot_str)
q_0_dot_symp = q_0_dot_symp.subs([(q_vec, sym.Matrix([q1, q2, q3]), \
(omega_vec, sym.Matrix([w1, w2, w3]).T))])
q_0_dot_symp = q_0_dot_symp.xreplace([{q_vec: sym.Matrix([q1, q2, q3])},\
{omega_vec: sym.Matrix([w1, w2, w3]).T}])
q_0_dot_fcn = lambdify((q1, q2, q3, w1, w2, w3), q_0_dot_symp, 'numpy')
Aber keiner dieser Arbeit. Wenn ich bewerten die folgenden:
q_0_dot_fcn(1,2,3,4,5,6)
ich:
0.5*omega_vec*q_vec
statt es in den Werten Haftung verbessernde I für die symbolischen Variablen innerhalb der symbolischen Matrizen zur Verfügung gestellt (und dann eine tatsächliche m = numerische Ergebnis zu erzielen).
Diese Problem, wenn abgeschlossen, wird Ihnen nützlich sein https://github.com/sympy/sympy/issues/10163 – asmeurer