![](/img/trans.png)
[英]Is it considered good practice to use **kwargs prolifically to aid readability?
[英]creating a matrix of function to aid readability
我有一个矩阵,我必须在其上求解特征方程,其中每个元素都是变量 x 的几个函数的组合。 我对每个函数都有明确的公式,可以让我使用矩阵,但问题是表达式非常长,可读性是一场噩梦。 我想知道是否有办法在我的矩阵中定义每个函数,例如: f(x) = "expr of f", g(x)='expr of g'
等等......并使用它们以便结果是:
M = [[f(x)+2*g(x), e(x)**2, ...], ...]
在哪里我可以做sympy.solvers.solvers.solve(M.det(), x)
。 谢谢你。
这是一种可能性,可以帮助您入门:
eqs = [x, f(x), f(x) + g(x), sin(x), f(x)/g(x)]
def who(e):
return ','.join(str(i.func) for i in ordered(e.atoms(Function)))
from collections import defaultdict
reps = defaultdict(list)
for i in eqs:
reps[who(i)].append(i)
r = {}
for k,v in reps.items():
if len(v) == 1:
r[v[0]] = 'n/a'
else:
for i,vi in enumerate(v):
r[vi] = '%s_%i'%(k,i)
[i.xreplace(r) for i in eqs] -> ['n/a', 'f', 'f,g_0', 'sin', 'f,g_1']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.