Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Simplification

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Autres questions
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
theloulou



Inscrit le: 07 Avr 2009
Messages: 3

MessagePosté le: 08 Avr 2009 13:08    Sujet du message: Simplification Répondre en citant

Bonjour à tous,
depuis hier je me casse la tête à chercher un moyen de bloquer la simplification automatique de MAPLE.
En fait, je voudrais réussir à remplacer des variables dans (A complexe):
Code:

>A:= int(exp(I*k*x*sin(alpha)), x = 0 .. a)+int(exp(I*k*x*sin(alpha)), x = a+r*a .. 2*a+r*a);
  I (-1 + exp(I a k sin(alpha)))
- ------------------------------
           k sin(alpha)         

     I exp(I a k sin(alpha) + I k sin(alpha) r a) (-1 + exp(I a k sin(alpha)))
   - -------------------------------------------------------------------------
                                   k sin(alpha)                               
> L := abs(A)^2;

      1        //                           2                              2
-------------- \\sin(a k sin(alpha) (1 + r))  + cos(a k sin(alpha) (1 + r))
 2           2                                                             
k  sin(alpha)                                                               

                                      \ /                         
   + 1 + 2 cos(a k sin(alpha) (1 + r))/ \1 - 2 cos(a k sin(alpha))

                        2                      2\\
   + cos(a k sin(alpha))  + sin(a k sin(alpha)) //
>


Et je voudrai donc pour voir remplacer
Code:
a*k*sin(`α`)/2
par t
et en particulier le facteur
Code:
1/(k²*sin²(alpha))
par a/t²
La manip marche bien globalement avec la fonction "algsubs" sauf pour ce facteur...
Je vous remercie d'avance pour votre aide.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
prof_simplet



Inscrit le: 12 Sep 2006
Messages: 86

MessagePosté le: 09 Avr 2009 8:42    Sujet du message: Répondre en citant

Bonjour, j'ai effectué la substitution avant le calcul du module. je ne sais pas si cela apporte qqchose.

Code:

> A:= int(exp(I*k*x*sin(alpha)), x = 0 .. a)+int(exp(I*k*x*sin(alpha)), x = a+r*a .. 2*a+r*a):
> A:=simplify(A);
> A:=subs(sin(alpha)=2*t/(a*k),A);


  A := -I (-1 + exp(k a sin(alpha) I) - exp(k a (1 + r) sin(alpha) I)

         + exp(k a (2 + r) sin(alpha) I))/(k sin(alpha))


  A := -1/2 I

        (-1 + exp(2 I t) - exp(2 I (1 + r) t) + exp(2 I (2 + r) t)) a

        /t

> L := evalc(abs(A)^2);
 

                                                                2  2
           (-1 + cos(2 t) - cos(2 t + 2 t r) + cos(4 t + 2 t r))  a
  L := 1/4 ---------------------------------------------------------
                                       2
                                      t

                                                               2  2
               (sin(2 t) - sin(2 t + 2 t r) + sin(4 t + 2 t r))  a
         + 1/4 ----------------------------------------------------
                                         2
                                        t

> L:=factor(simplify(expand(L)));

            2                                    2         2
  L := - 4 a  (cos(t) - 1) (cos(t) + 1) (2 cos(t)  cos(t r)

                 2
         - cos(t)  - 2 sin(t) cos(t) sin(t r) cos(t r) + 1

                   2    /  2
         - cos(t r) )  /  t
                      /

 
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
theloulou



Inscrit le: 07 Avr 2009
Messages: 3

MessagePosté le: 09 Avr 2009 12:35    Sujet du message: Répondre en citant

Bonjour,
Merci d'avoir planché dessus.
Finalement, en changeant les bornes de l'intégrale, j'aboutis à une forme beaucoup plus simple :
Code:
> A:= int(exp(I*k*x*sin(alpha)), x = -(1/2)*b-a .. (-b)*(1/2))+int(exp(I*k*x*sin(alpha)), x = (1/2)*b .. a+(1/2)*b);
A := simplify(%);
J := evalc(abs(`𝒜`)^2);
J := subs({(1/2)*k*b*sin(alpha) = B, (1/2)*k*(b+2*a)*sin(alpha) = A}, J);
 EqTrig := {sin(A)-sin(B) = 2*cos(1/2*(A+B))*sin(1/2*(A-B))};
J := simplify(J, eqns);
J := subs({A = (1/2)*k*(b+2*a)*sin(alpha), B = (1/2)*k*b*sin(alpha)}, J);
J := subs(b = (1/2)*a, J);
        /   / 1                         \      / 1                 \\
     I |exp|-- I k (b + 2 a) sin(alpha)| - exp|-- I k b sin(alpha)||
       \   \ 2                         /      \ 2                 //
     ---------------------------------------------------------------
                              k sin(alpha)                         

            /   /1                 \      /1                         \\
          I |exp|- I k b sin(alpha)| - exp|- I k (b + 2 a) sin(alpha)||
            \   \2                 /      \2                         //
        + -------------------------------------------------------------
                                  k sin(alpha)                         
                                                                  2
           /   /1                       \      /1               \\
         4 |sin|- k (b + 2 a) sin(alpha)| - sin|- k b sin(alpha)||
           \   \2                       /      \2               //
         ----------------------------------------------------------
                                2           2                     
                               k  sin(alpha)                       
                                      2                      2
                    /3               \     /1               \
              16 cos|- k sin(alpha) a|  sin|- k sin(alpha) a|
                    \4               /     \2               /
              ------------------------------------------------
                                2           2                 
                               k  sin(alpha)                 


C'est cette dernière que je cherchais.
Mais pour pouvoir y aboutir, j'ai dû poser des formules de trigonométrie :

Je reformule donc mes questions :
Est-on obligé de poser ces formules, ou n'y a-t-il pas des moyens de simplification trigonométrique automatique ?
Peut-on ne simplifier qu'une partie d'une expression ? Ici, seulement les termes dans les fonctions trigo.
Une dernière chose, y a-t-il un moyen pour faire apparaître un facteur (a/a)² ? pour ensuite un changement de variable, comme : t=k*a*sin(alpha).
Merci pour votre aide ! Smile
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
prof_simplet



Inscrit le: 12 Sep 2006
Messages: 86

MessagePosté le: 10 Avr 2009 8:30    Sujet du message: Répondre en citant

Bonjour,
oui je pense qu'on est obligé de poser ces formules.
Pour récupérer un terme, par exemple le k-ième d'une expression expr, on peut utiliser op(k,expr).
Difficile pour faire apparaître un facteur constant (essayer peut-être factor).
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
theloulou



Inscrit le: 07 Avr 2009
Messages: 3

MessagePosté le: 16 Avr 2009 15:23    Sujet du message: Répondre en citant

Je vois, merci pour cette information.
Pour le facteur, j'avais juste besoin de faire apparaître un a² au dénominateur.
Il y a juste une dernière chose pour que je puisse finir ce code, il faut que j'opère un changement de variable en t=a*k*sin(alpha)
Mais MAPLE n'arrive pas à trouver que pour le dénominateur, il lui faut aussi opérer le changement de variable : t²=a²*k²*sin²(alpha)
La solution consisterait, je pense, à réussir à mettre l'expression sous la forme (expr)²
C'est ce que je n'arrive pas à faire, la commande factor ne le fait pas.
Je me demande donc s'il n'existe pas une commande pour faire ceci, ou alors, suis-je obligé d'opérer un deuxième changement de variable en posant t²=a²*k²*sin²(alpha)
Merci pour votre aide !
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
prof_simplet



Inscrit le: 12 Sep 2006
Messages: 86

MessagePosté le: 17 Avr 2009 10:07    Sujet du message: Répondre en citant

Bonjour, je pense en effet que tu seras obligé d'opérer un deuxième changement de variable dans l'expression expr en posant subs(a²*k²*sin²(alpha)=t²,expr).
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Autres questions Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.