Page 1 sur 1

Résolution d'équations en trigonométrie

Publié : jeu. déc. 20, 2012 3:03 pm
par tonton golden
Bonjour ,

D'abord bravo à toute l'équipe pour la conception d'un tel logiciel.
Je travaille avec la version stable sortie en septembre 2012.
J'utilise surtout le calcul algébrique et le calcul formel, un peu la programmation pour des élèves de lycée.
Ma question porte sur des équations trigonométriques.
cos ( u ( x ) ) = cos ( v ( x ) ) ( par exemple avec u ( x ) = 2 x et v ( x ) = x + pi / 4 ) ne donne pas les solutions escomptées.
sin ( u ( x ) ) = sin ( v ( x ) ) ( par exemple avec u ( x ) = 4 x et v ( x ) = x - pi / 2 ) ne donne pas de solutions.
Peut-on trouver un moyen " détourné " d'aboutir aux solutions?

Merci par avance. Cordialement.

Re: Résolution d'équations en trigonométrie

Publié : jeu. déc. 20, 2012 5:49 pm
par parisse
Si on veut les solutions approchées il suffit d'appeler fsolve au lieu de solve avec en second argument une période par exemple

Code : Tout sélectionner

fsolve(cos(2x)=cos(x+pi/4),x=-pi..pi)
Pour les solutions exactes, il faut un peu aider, dans le 2ème cas il n'arrive pas à se ramener à une équation polynomiale, dans le 1er cas, solve utilise aveuglément une réécriture en tan(x/2), il est bloqué par des polynômes de degré 3 dépendant de tan(pi/8) pour lesquels il n'arrive pas à calculer une solution exacte, du coup il ne renvoie qu'une des 4 solutions exactes. Voilà comment j'ai réussi à avoir toutes les solutions sur [-pi,pi] (après avoir un peu joué à droite à gauche avec les fonctions de réécriture):

Code : Tout sélectionner

solve(factor(texpand(normal(subst(cos(2x)-cos(x+pi/4),x=X-pi/4)))),X);
simplify(solve(factor(trigsin(texpand(sin(4x)-sin(x-pi/2))))))
Bon, a:=asin((sqrt(5)+1)/4) n'est pas simplifié automatiquement. Mais avec un evalf(a)/evalf(pi), on devine aisément que a vaut 3*pi/10, on peut ensuite le prouver avec normal(texpand(sin(5a))) qui vaut -1.
Assez distrayant finalement, on dirige les calculs et on laisse la machine faire le sale boulot!

Re: Résolution d'équations en trigonométrie

Publié : jeu. déc. 20, 2012 9:42 pm
par alb
Un petit bricolage ...

Code : Tout sélectionner

ResoudreCosEgalCos(E,F):={
  local op1,op2,sol1,sol2;
  si sommet(E)!='cos' ou sommet(F)!='cos' alors
    retourne "valeur argument incorrecte"
  fsi
  op1:=op(E);op2:=op(F);
  sol1:=expand(solve(op1=op2+2k1*pi)[0]);
  sol2:=expand(solve(op1=-op2+2k2*pi)[0]);
  afficher("Les solutions dans l'ensemble des réels de l'équation "+(E=F)+" sont");
  retourne [sol1,sol2]
}:;
On tape par exemple:
ResoudreCosEgalCos(cos(3x-pi/3),cos(x/2+pi/4))
on simplifie les fractions si nécessaire en les sélectionnant et en utilisant Scolaire->simplifier

Re: Résolution d'équations en trigonométrie

Publié : ven. déc. 21, 2012 6:59 am
par tonton golden
Bonjour,

Merci pour les réponses très rapides et très claires qui m'ont bien aidé.
Elles me confirment notamment que le chemin vers la résolution n'est pas " direct ".

Bonnes fêtes de fin d'année.
Cordialement. tonton golden.