使用 Sum Indexed 和 Lambdify,以及 scipy 来最小化大表达式
Use Sum Indexed and Lambdify, and scipy to minimize a large expression
我有一个大约 231 个项的巨大表达式,每个表达式都有 cos(e) 或 sin(e) 的一些幂,它们也可以混合,每个项也有一个 r(距离)项分母也提高了一些权力。
这里是表达式的一小部分
我想做的是对所有角度 e 的表达式求和,然后对所有 r 求和,然后使用 lambdify 和 scipy 最小化关于等式中存在的其他 4 个参数的表达式。
我尝试过的东西
我尝试使用 scipy 中索引的总和来求和,但我没有
能够使它工作,一旦我有了,电源位也很棘手
求和索引表达式,然后扩展它我如何传递列表
计算表达式的角度值
此外,由于表达式非常大,我想在循环中进行求和索引等操作,而不是单独解析每个幂的表达式。
(如果我的问题不清楚,请告诉我。)
这就是我最终解决问题的方法 -
- 用可变余弦和正弦替换了 cos(e) 和 sin(e)。
- 遍历角度列表并使用 sympy.subs 将余弦和正弦替换为 math.cos(e) 和 math.sin(e) 并继续添加获得的表达式 r还有。
- 这让我只剩下需要的 p1 和 p2 以及 Q1 和 Q2。
- 我无法使用 sympy lambdify 和 sum indexed 但这完成了工作。
我有一个大约 231 个项的巨大表达式,每个表达式都有 cos(e) 或 sin(e) 的一些幂,它们也可以混合,每个项也有一个 r(距离)项分母也提高了一些权力。
这里是表达式的一小部分
我想做的是对所有角度 e 的表达式求和,然后对所有 r 求和,然后使用 lambdify 和 scipy 最小化关于等式中存在的其他 4 个参数的表达式。
我尝试过的东西
我尝试使用 scipy 中索引的总和来求和,但我没有 能够使它工作,一旦我有了,电源位也很棘手 求和索引表达式,然后扩展它我如何传递列表 计算表达式的角度值
此外,由于表达式非常大,我想在循环中进行求和索引等操作,而不是单独解析每个幂的表达式。
(如果我的问题不清楚,请告诉我。)
这就是我最终解决问题的方法 -
- 用可变余弦和正弦替换了 cos(e) 和 sin(e)。
- 遍历角度列表并使用 sympy.subs 将余弦和正弦替换为 math.cos(e) 和 math.sin(e) 并继续添加获得的表达式 r还有。
- 这让我只剩下需要的 p1 和 p2 以及 Q1 和 Q2。
- 我无法使用 sympy lambdify 和 sum indexed 但这完成了工作。