0

我试图让 sympy 在迭代的基础上用一个符号替换其他两个符号。目前我有一些代码可以扩展一些括号并存储每次迭代:

for i in range(0,nMoments-1):
  middle.append(K+i)

生产

[K]
[K, K + 1]
[K, K + 1, K + 2]

我想做的是为每一行用两个符号替换 K,它们本身存储在长度相等的向量 m1 和 m2 中。所以对于第一行,对于每个 KI 想替换 m1[0]/m2[0],然后对于第二行 m1[1]/m2[1] 中的每个 K,对于第三行 m1[2 ]/m2[2] 等

因此对于 middle[0],m1 和 m2 向量的等价索引被放入 K。

作为参考,nMoments 只是一个 int 变量

据我所知,到目前为止,我最接近的尝试是

for i in range(0,nMoments):
  K.replace(K,m1[i]**2/m2[i])
  print middle

但是,这会产生:

[K, K + 1, K + 2]
[K, K + 1, K + 2]
[K, K + 1, K + 2]

有谁知道我该如何解决这个问题?

非常感谢!

4

1 回答 1

1

这是你想要的吗?

for i in range(nMoments):
    middle[i] = middle[i].subs(K, m1[i]**2/m2[i])
于 2013-05-17T23:16:58.717 回答