python字符矩阵_Python Sympy将符号矩阵替换为(转换为)符号

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')

-要么-

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')

但这些都不奏效 . 当我评估以下内容时:

q_0_dot_fcn(1,2,3,4,5,6)

我明白了:

0.5*omega_vec*q_vec

而不是它为我在符号矩阵中提供的符号变量提供的值(然后获得实际的m =数值结果) .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值