mathematica, упрощенная функция триггера - PullRequest
2 голосов
/ 05 мая 2011

если, скажем, у меня есть заданная функция:

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

Как получить рациональное выражение в терминах х функции, если я хочу заменить Кош [тета] на

               "Cosh[theta] = ( x )/ 2 " 

выражение

Ответы [ 3 ]

2 голосов
/ 05 мая 2011

Я пометил вопрос как домашнее задание. Вы должны посмотреть на 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


EDIT Причина, по которой вышесказанное связано с явным вопросом, заключается в том, что Cosh[theta] == Cos[I*u] для некоторых u. И поскольку u или theta формальны, результаты сохранятся.
2 голосов
/ 05 мая 2011

Используйте Solve, чтобы найти theta, затем подставьте Expand и Simplify:

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)}
1 голос
/ 05 мая 2011

Это может вас заинтересовать:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...