首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展sin(acot(.))同情吗?

扩展sin(acot(.))同情吗?
EN

Stack Overflow用户
提问于 2022-11-27 23:46:56
回答 1查看 29关注 0票数 1

是否有一种方法来扩展三角函数的反三角函数?我有一个长表达式f,其中包含许多这样的子表达式,例如:

  • sin(0.5 acot(x))**2
  • cos(0.5 acot(x))**2
  • sin(acot(x))

这些表达式可以在没有三角函数的情况下重写,例如:

  • 1/2 - 1/2 * x / sp.sqrt(x**2 + 1)

我试过expand_trigtrigsimp都没有用。同时,我也找不到一种方法来直接替换。

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-28 00:38:26

有多种方法可以做到这一点。下面是一些例子:

代码语言:javascript
复制
In [1]: sin(acot(x))
Out[1]: 
       1       
───────────────
       ________
      ╱     1  
x⋅   ╱  1 + ── 
    ╱        2 
  ╲╱        x  

In [2]: sin(acot(x)/2)**2
Out[2]: 
   2⎛acot(x)⎞
sin ⎜───────⎟
    ⎝   2   ⎠

In [3]: e = sin(acot(x)/2)**2

In [4]: e.rewrite(log)
Out[4]: 
    ⎛  ⎛   ⎛    ⅈ⎞      ⎛    ⅈ⎞⎞⎞
    ⎜ⅈ⋅⎜log⎜1 - ─⎟ - log⎜1 + ─⎟⎟⎟
   2⎜  ⎝   ⎝    x⎠      ⎝    x⎠⎠⎟
sin ⎜───────────────────────────⎟
    ⎝             4             ⎠

In [5]: e.rewrite(log).rewrite(exp)
Out[5]: 
      ⎛   ⎛      _______       _______⎞ ⎞
      ⎜   ⎜     ╱     ⅈ       ╱     ⅈ ⎟ ⎟
      ⎜   ⎜  4 ╱  1 - ─    4 ╱  1 + ─ ⎟ ⎟
      ⎜   ⎜  ╲╱       x    ╲╱       x ⎟ ⎟
      ⎜-ⅈ⋅⎜- ─────────── + ───────────⎟ ⎟
      ⎜   ⎜      _______       _______⎟ ⎟
      ⎜   ⎜     ╱     ⅈ       ╱     ⅈ ⎟ ⎟
      ⎜   ⎜  4 ╱  1 + ─    4 ╱  1 - ─ ⎟ ⎟
      ⎜   ⎝  ╲╱       x    ╲╱       x ⎠ ⎟
 2⋅log⎜─────────────────────────────────⎟
      ⎝                2                ⎠
ℯ                                        

In [6]: e.rewrite(log).rewrite(exp).expand()
Out[6]: 
       _______             _______ 
      ╱     ⅈ             ╱     ⅈ  
     ╱  1 - ─            ╱  1 + ─  
   ╲╱       x     1    ╲╱       x  
- ───────────── + ─ - ─────────────
        _______   2         _______
       ╱     ⅈ             ╱     ⅈ 
  4⋅  ╱  1 + ─        4⋅  ╱  1 - ─ 
    ╲╱       x          ╲╱       x 

In [7]: simplify(_)
Out[7]: 
1               1            
─ - ─────────────────────────
2         _______     _______
         ╱     ⅈ     ╱     ⅈ 
    2⋅  ╱  1 - ─ ⋅  ╱  1 + ─ 
      ╲╱       x  ╲╱       x 

如果您将x声明为真实的或正的,则某些情况下的工作方式会有所不同,例如x = symbols('x', real=True)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74594679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档