Résolution d'équations en trigonométrie

Utilisation de Xcas au lycée (sauf algorithmique), y compris projet d'epreuve pratique en Terminale S

Modérateur : xcasadmin

tonton golden
Messages : 22
Inscription : mer. déc. 19, 2012 1:51 pm

Résolution d'équations en trigonométrie

Message par tonton golden » jeu. déc. 20, 2012 3:03 pm

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.

parisse
Messages : 5734
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

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

Message par parisse » jeu. déc. 20, 2012 5:49 pm

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!

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

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

Message par alb » jeu. déc. 20, 2012 9:42 pm

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

tonton golden
Messages : 22
Inscription : mer. déc. 19, 2012 1:51 pm

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

Message par tonton golden » ven. déc. 21, 2012 6:59 am

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.

Répondre