我想使用this answer中给出的sympy计算雅可比的代码。
但我想给出的变量和函数列表如下;
v_list=[x,y,z]
f_list=[f1,f2,f3]但是,其中的sympy命令需要如下所示的v_list和f_list;
v_list='x y z'
f_list=['f1','f2','f3']有没有办法写一段python代码,自动将v_list和f_list从我给出的第一个形状转换成适合那个雅可比函数中sympy命令的形状?
发布于 2019-07-07 20:14:52
直接的答案是
>>> sv_list = ' '.join([i.name for i in v_list])
>>> sf_list = [i.name for i in f_list]
>>> repr(sv_list)
'x y z'
>>> repr(sf_list)
['f1', 'f2', 'f3']但有一个问题是:为什么不使用SymPy矩阵的内置雅可比方法?
>>> v_list = u1, u2 = symbols('u1:3')
>>> f_list = [2*u1 + 3*u2, 2*u1 - 3*u2]
>>> Matrix(f_list).jacobian(v_list)
Matrix([
[2, 3],
[2, -3]])注意:字符串的使用不是必需的;它只是避免创建变量的一种方法。
https://stackoverflow.com/questions/56915133
复制相似问题