¿Cómo extraer términos de la ecuación y luego establecer cada uno de ellos en 0?

Aug 20 2020

Tengo una ecuación larga, a saber,

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]

Como Sin[t]*Cos[t]^3y así sucesivamente es un término pequeño, podemos tomarlo como 0. En consecuencia, nos gustaría eliminar sin [t] y cos [t] a la potencia de n. Mi instinto es usar Casespara lograrlo, pero no sé cómo hacerlo.

Por ejemplo, quiero mantener 4576.66 a[1] Cos[t]y 4576.65 a[2] Cos[2 t], pero configurar 4576.65 a[2] Cos[2 t]y 10.1631 a[1]^2 a[2] Cos[t]^2 Cos[2 t]para 0.

Más información

  1. Aparte de Cos[t]^2y Cos[2t]^3, Sin[t]*Cos[t]y Sin[t]^2*Sin[2t]así sucesivamente deben eliminarse. En otras palabras , solo Sin[t] Sin[2t] Sin[3t]... Sin[n*t]y Cos[t] Cos[2t] Cos[3t]... Cos[n*t]deberían quedar.

  2. Términos como Sin[theta] Sin[t w]deberían sobrevivir, porque Sin[theta]es una constante.

Resumen de la solución

Utilice la siguiente gramática de la lengua de wolframio para extraer el plazo que se espera: _ h any expression with head h. Consulte Patrones y reglas de transformación.

Respuestas

2 kglr Aug 20 2020 at 16:02
equ /. HoldPattern[ Power[_Cos | _Sin, _] | 
   Times[(Cos | Sin)[Except[theta]], (Cos | Sin)[Except[theta]], ___]] -> 0