【发布时间】:2014-06-20 09:48:19
【问题描述】:
我想使用同一组符号创建许多(超过 400 个)SymPy 表达式。表达式如下所示:
z_1_8 = k1 + k2 + kuni + k4 + k7
z_2_9_0 = k2 + k8 + k1 + k6
z_3_1_10 = k3 + kbi + k2 + k7
名称“z_1_8”将从列表中生成,其中列表的每个成员都包含命名每个表达式的数字。同样,符号也来自一个列表,其中每个成员都包含一个符号列表作为字符串 - 'k1'、'k2' 等 - 用于生成每个表达式。
list_to_generate_expression_names = [[1, 8], [2, 9, 0], [3, 1, 10],...]
list_to_generate_expressions = [['k1', 'k2','kuni','k4','k7'], ['k2', 'k8', 'k1', 'k6'], ['k3', 'kbi', 'k2', 'k7']]
有什么方法可以做到这一点?
【问题讨论】:
-
SymPy 变量 必须 动态创建(使用
var函数),因此您可以执行k = [var('k%d' % i) for i in range(10)]之类的操作。 -
谢谢。我的符号严格来说不会是一个 k 序列。我刚刚编辑了问题。
-
通常使用
symbols比使用var更好。 -
你想生成
sympy.Eq对象吗? -
我不确定这意味着什么。我对使用 SymPy 很陌生,对 python 的经验也不是很丰富。