Как извлечь члены из уравнения, а затем установить для каждого из них значение 0?
У меня длинное уравнение, а именно:
equ = 4576.66 a[1] Cos[t] + 3.3877 a[1]^3 Cos[t]^3 + 4576.65 a[2] Cos[2 t] + 10.1631 a[1]^2 a[2] Cos[t]^2 Cos[2 t] + 10.1631 a[1] a[2]^2 Cos[t] Cos[2 t]^2 + 3.3877 a[2]^3 Cos[2 t]^3 + 4576.63 a[3] Cos[3 t] + 10.1631 a[1]^2 a[3] Cos[t]^2 Cos[3 t] + 20.3262 a[1] a[2] a[3] Cos[t] Cos[2 t] Cos[3 t] + 10.1631 a[2]^2 a[3] Cos[2 t]^2 Cos[3 t] + 10.1631 a[1] a[3]^2 Cos[t] Cos[3 t]^2 + 10.1631 a[2] a[3]^2 Cos[2 t] Cos[3 t]^2 + 3.3877 a[3]^3 Cos[3 t]^3 - 0.415 a[1] Sin[t] - 0.83 a[2] Sin[2 t] - 1.245 a[3] Sin[3 t] == 2/625 Cos[theta] Cos[t w] - 2/625 Sin[theta] Sin[t w]
Поскольку Sin[t]*Cos[t]^3и т. Д. Является малым членом, мы можем принять его за 0. Следовательно, мы хотели бы исключить sin [t] и cos [t] в степени n. Мой инстинкт - использовать Casesдля достижения цели, но я не знаю, как это сделать.
Например, я хочу , пропитание 4576.66 a[1] Cos[t]и 4576.65 a[2] Cos[2 t], но набор 4576.65 a[2] Cos[2 t]и 10.1631 a[1]^2 a[2] Cos[t]^2 Cos[2 t]к 0.
Больше информации
Помимо
Cos[t]^2иCos[2t]^3,Sin[t]*Cos[t]иSin[t]^2*Sin[2t]так далее должно быть устранено. Другими словами , нужно оставить толькоSin[t]Sin[2t]Sin[3t]...Sin[n*t]иCos[t]Cos[2t]Cos[3t]...Cos[n*t]Условия вроде
Sin[theta] Sin[t w]должны выжить, потому чтоSin[theta]это константа.
Краткое изложение решения
Используйте следующую грамматику языка вольфрам извлечь ожидаемый срок: _ h any expression with head h. Пожалуйста, обратитесь к шаблонам и правилам преобразования.
Ответы
equ /. HoldPattern[ Power[_Cos | _Sin, _] |
Times[(Cos | Sin)[Except[theta]], (Cos | Sin)[Except[theta]], ___]] -> 0