sympy - Sympy 无法计算积分(sec(x+1)**2, x)
问题描述
我觉得奇怪的是sympy
不能评估integrate(sec(x+1)**2, x)
什么时候可以评估integrate(sec(x)**2, x)
。我已经限制了域x
以防万一,但我仍然无法评估 `sec(x+1)**2 的积分。
x, y, z = symbols('x, y, z', real=True, positive=True)
为什么 sympy 会为此苦苦挣扎?
解决方案
这可以说是 SymPy 中的一个错误,但您可以通过重写 sec 来解决:
>>> integrate(sec(x+1)**2, x)
Integral(sec(x + 1)**2, x)
>>> _.rewrite(cos) # sin or tan works too
Integral(cos(x + 1)**(-2), x)
>>> _.doit()
-2*tan(x/2 + 1/2)/(tan(x/2 + 1/2)**2 - 1)
>>> simplify(_)
tan(x + 1)
推荐阅读
- codeigniter - 数组到字符串的转换(在 codeigniter 中搜索)
- android - 为什么不启动 onStopJob?
- android - Android Studio 无法识别 .ttf 文件
- c# - 如何仅将 FluentMigrator.Runner 用于选定类型的数据库
- c++ - 架构 x86_64 的 C++ 未定义符号(类似)
- go - 高并发下 Go `net/http` 的一些困惑
- jquery - highchart没有显示在移动屏幕的中心
- ruby-on-rails - 如何按月过滤rails模型
- c# - Visual Studio 评论中的基本文本格式?
- ios - 无法将类型“ResultElement”的值转换为类型“_?” 在胁迫下