|
Apprendre Maple Site dédié au logiciel de calcul formel Maple
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
bendesarts
Inscrit le: 27 Fév 2009 Messages: 234
|
Posté le: 20 Oct 2013 19:42 Sujet du message: un paramètre qui disparait |
|
|
Bonjour,
J'ai dans mon fichier maple des paramètres dépendant du temps gamma(t), psi(t).
imagik
Bizarrement, après un calcul d'un produit matriciel avec un vecteur, les paramètres ne dépendent plus du temps.
Comme on peut le constater sur mon imprime écran, le vecteur AG1_R0 ne dépend plus de gamma(t) mais de gamma seulement ce qui me pose des problèmes pour les calculs qui suivent.
Je vous remercie pour votre aide.
Code: |
restart:
with(LinearAlgebra):
with(Student[MultivariateCalculus]):
with(plots):
Omega_1_0_R1:=<0,0,diff(gamma(t), t)>;
Omega_2_1_R2:=<0,0,diff(psi(t), t)>;
P_1_0:=Matrix([<cos(gamma(t)),-sin(gamma(t)),0>,<sin(gamma(t)), cos(gamma(t)),0 >,<0, 0, 1>]);
P_2_1:=Matrix([<cos(psi(t)), -sin(psi(t)),0>,<sin(psi(t)),cos(psi(t)),0>,<0, 0, 1>]);
AG1_R1:=<(1/2)*r, 0, 0>;
AG1_R0:=simplify(MatrixVectorMultiply(P_1_0,AG1_R1));
|
|
|
Revenir en haut de page |
|
|
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 21 Oct 2013 6:14 Sujet du message: |
|
|
Bonjour,
En enlevant simplify dans la dernière ligne (calcul de AG1_R0), vous avez le bon résultat.
A bientôt.
ALS |
|
Revenir en haut de page |
|
|
bendesarts
Inscrit le: 27 Fév 2009 Messages: 234
|
Posté le: 21 Oct 2013 10:47 Sujet du message: |
|
|
D'accord super merci.
Auriez-vous une idée pourquoi avec le simplify on a des simplifications un peu très fortes de ce genre ? |
|
Revenir en haut de page |
|
|
bendesarts
Inscrit le: 27 Fév 2009 Messages: 234
|
Posté le: 21 Oct 2013 11:22 Sujet du message: |
|
|
Bonjour,
Toujours dans le même programme, je retrouve encore une fois le même genre d'erreurs.
Code: |
L_gamma1:=subs(x_d=diff(x(t),t),gamma_d=diff(gamma(t),t),psi_d=diff(psi(t),t),x_=x(t),gamma_=gamma(t),psi_=psi(t),L_gamma1);
L_gamma1:=simplify(subs(x_d=diff(x(t),t),gamma_d=diff(gamma(t),t),psi_d=diff(psi(t),t),x_=x(t),gamma_=gamma(t),psi_=psi(t),L_gamma1));
|
la première ligne me donne le résultat souhaité :
L_gamma1:=1/4*diff(gamma(t),t)*(m1*r^2+4IG1)
La deuxième ligne me donne un résultat erroné.
L_gamma1:=0
Avec le simplifiy, maple transforme mes paramètres dépendants du temps en constantes ce qui engendre des grossières simplifications erronées.
Ce qui est bizarre c'est que je réutilise un programme où je n'avais pas ce genre d'erreurs avant. J'ai donc du mal à comprendre pourquoi celà arrive alors que je ne change que certaines données dans mon programme. Je me dis que celà provient peut-être de la déclaration des librairies au début de ma page de code. Pourtant, il me semble que je n'ai rien changé.
Merci pour votre aide. |
|
Revenir en haut de page |
|
|
bendesarts
Inscrit le: 27 Fév 2009 Messages: 234
|
Posté le: 21 Oct 2013 11:31 Sujet du message: |
|
|
Ah je crois que j'ai trouvé.
Il me semble que j'avais déjà eu çà.
C'est le problème du gamma !!! Dans mon autre code j'utilisais gamma[i] et donc je n'avais pas de soucis. Mais sur le code sur lequel je travaille aujourd'hui, j'utilise gamma(t) et le gamma pose problème car il s'agit d'une constante défini dans Maple.
Pouvez-vous me confirmer mon hypothèse ? Je crois bien que celà doit être çà.
Y a-t-il un moyen pour désactiver cette constante gamma en rajoutant une ligne au début de mon code pour que je puisse par la suite utiliser mon paramètre gamma(t) sans problème.
Sinon, je changerais de nom de ce paramètre mais j'ai pas mal de schémas qui utilisent gamma(t). Donc garder cette notation me faciliterait la tâche.
Merci pour votre aide. |
|
Revenir en haut de page |
|
|
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 22 Oct 2013 10:10 Sujet du message: |
|
|
Bonjour,
oui je pense que vous avez raison.
A+ |
|
Revenir en haut de page |
|
|
bendesarts
Inscrit le: 27 Fév 2009 Messages: 234
|
Posté le: 22 Oct 2013 23:07 Sujet du message: |
|
|
Oui merci pour votre aide.
Grâce au site Mapleprimes, j'ai trouvé un code qui permet desactiver des constantes Maple.
Voici le code que j'ai rajouté en début de programme et qui m'a permis d'utiliser le paramètre gamma :
Code: |
constants:= ({constants} minus {gamma})[]:
`evalf/gamma`:= proc() end proc:
`evalf/constant/gamma`:= proc() end proc:
unprotect(gamma);
|
Merci pour votre aide en tout cas et à bientôt |
|
Revenir en haut de page |
|
|
|
|
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
|
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.
|