python - python sympy 如何简化我知道某个变量是奇整数的表达式
问题描述
例如,给定表达式(3*cos(pi*n/2)+2*sin(pi*n/2))/n**2
和 n 是正奇数(即 1,3,5,...)的知识,表达式可以简化为,2*(-1)**((n-1)/2)/n**2
因为cos(pi*n/2)
项都归零,sin(pi*n/2)
项归 -1或+1。有什么方法可以让 sympy 认识到这一事实并进行简化?
解决方案
您可以声明n
为odd
:
In [72]: n = Symbol('n', odd=True)
In [73]: (3*cos(pi*n/2)+2*sin(pi*n/2))/n**2
Out[73]:
n 1
─ - ─
2 2
2⋅(-1)
───────────
2
n
推荐阅读
- flutter - 可重新排序列表中的弹出菜单不在位置
- ios - SwiftUI NavigationLink 选择的值重置为 nil
- python - Use PyPDF2 to detect non-embedded fonts in PDF file generated by Google Docs
- objective-c - 在“const _strong id”Objective C 类型的对象上找不到属性“x”?
- rest - quarkus:如何通过休息客户端提供令牌
- sql - 查询一个表中的最大日期和另一个表中的组 ID
- kotlin - 如何通过 Kotlin 接口强制创建单例
- swift - Swift:你如何使用 UIPanGestureRecognizer 获得每次触摸的速度?
- mongodb - 将 mongoDB 集群转换为副本集时出错
- html - 即使在放大/缩小或更新浏览器窗口大小后,如何将轮播箭头保持在中心?