1

我有一个大约 231 个术语的巨大表达式,每个表达式都有一些 cos(e) 或 sin(e) 的力量,它们也可以混合,每个术语在分母中也有一个 r(distance) 项,提高到一些权力也是如此。

这是表达式的一小部分 方程图像

我想做的是对所有角度 e 的表达式求和,然后对所有 r 求和,并使用 lambdify 和 scipy 来最小化方程中存在的其他 4 个参数的表达式。

我尝试过的事情

  • 我曾尝试使用在 scipy 中索引的 sum 进行求和,但无法使其工作,一旦我拥有 sum 索引表达式并扩展它,功率位也很棘手,我如何传递角度值列表计算表达式

  • 此外,由于表达式非常大,我想在循环中进行总和索引等,而无需单独解析每个幂的表达式。

(如果我的问题不清楚,请告诉我。)

4

1 回答 1

1

这就是我最终设法解决我的问题的方式 -

  • 用变量 cos 和 sine 替换 cos(e) 和 sin(e)。
  • 遍历角度列表并使用 sympy.subs 将 cose 和 sine 替换为 math.cos(e) 和 math.sin(e) 并继续添加获得的表达式,与 r 同上。
  • 这让我只剩下 p1 和 p2 以及 Q1 和 Q2 这是必需的。
  • 我不能使用 sympy lambdify 和 sum indexed ,但这完成了工作。
于 2016-09-11T05:20:45.190 回答