sympy - 如何在 sympy 中处理对变量有数学约束的方程
问题描述
我尝试使用带有数学约束的 sympy 来简化和求解方程。我没有在网上的教程中找到如何通知 sympy 考虑这些限制。
我有一个示例方程(参见下一个代码),我希望 sympy 在处理这些变量时考虑到列出的这些变量的约束。但我没有成功找到如何告知 sympy 这些限制(限制/边界)。
import sympy
D1,D2,D3,A,B,C,d,e,f = sympy.symbols('D1 D2 D3 A B C d e f')
equation = (-A*e + e*(A*d + (1.0 - d)*(D1 + 0.5*D2 + 0.5*D3)) + (1.0 - e)*( D1*d - D1 + 0.5*D2*d - 0.5*D2 + 0.5*D3*d - 0.5*D3 + A**2*(1.0 - d) + 0.5*A*B*(2.0 - 2.0*d) + 0.5*A*C*(2.0 - 2.0*d)))**2
#constraints: my trouble: how to take them into account in simplify, collect, solve?
A+B+C=1
D1+0.5*D2+0.5D3 = f
0.<=D1,D2,D3,A,B,C,d,e,f<=1.
print(sympy.latex(sympy.collect(equation,[f,A]))
谢谢你启发我。
解决方案
推荐阅读
- ios - 如何在两个特定时间之间触发重复的本地通知
- gremlin - Gremlin:如何从输出中省略空元素
- processing - 如何在处理中重复模式
- android - 在android中共享apk
- java - 每次打开相同的活动时,AES 解密的文本都会显示不同的结果
- vba - 如何计算已经打开的 IE 窗口?objShell.Windows 返回太多结果
- python - 用列表理解测试素数
- kubernetes - 如何捕获每秒查询或微服务调用延迟?(没有 istio 或其他基于 envoy 的工具)
- html - 字体大小随html中的刷新而变化
- cfml - 我正在检查 Session.cart 是否已定义,如果未定义则定义它