mathematica,简化trig函数

时间:2011-05-05 11:12:24

标签: wolfram-mathematica

如果说我有一个功能:

               singlepattern = Cosh[theta] + Cosh[3theta]

如果我想用

替换Cosh [θ],我如何得到函数x的理性表达式?
               "Cosh[theta] = ( x )/ 2 " 

表达

3 个答案:

答案 0 :(得分:2)

我把这个问题重新作为一项功课。你应该研究ChebyshevT多项式。它具有ChebyshevT[3, Cos[th] ]==Cos[3*th]的属性。所以对于你的问题,答案是

In[236]:= x/2 + ChebyshevT[3, x/2]

Out[236]= -x + x^3/2

或者,您可以使用TrigExpand

In[237]:= Cos[th] + Cos[3*th] // TrigExpand

Out[237]= Cos[th] + Cos[th]^3 - 3 Cos[th] Sin[th]^2

In[238]:= % /. Sin[th]^2 -> 1 - Cos[th]^2 // Expand

Out[238]= -2 Cos[th] + 4 Cos[th]^3

In[239]:= % /. Cos[th] -> x/2

Out[239]= -x + x^3/2

<小时/> 编辑以上与明确问题有关的原因是某些Cosh[theta] == Cos[I*u]的{​​{1}}。由于uu是正式的,因此结果将成立。

答案 1 :(得分:2)

使用Solve解析theta,然后替换,ExpandSimplify

In[16]:= TrigExpand[Cosh[3 theta] + Cosh[theta]] /. 
  Solve[Cosh[theta] == (x)/2, theta] // FullSimplify

During evaluation of In[16]:= Solve::ifun: Inverse functions are being used by Solve,
so some solutions may not be found; use Reduce for complete solution information. >>

Out[16]= {1/2 x (-2 + x^2), 1/2 x (-2 + x^2)}

答案 2 :(得分:1)

您可能会对此感兴趣:

http://www.wolframalpha.com/input/?i=cosh%28x%29+%2B+cosh%283 * X%29