Page 1 sur 2
Transformée de Laplace
Publié : jeu. sept. 17, 2009 8:26 am
par xavier
bonjour,
Je suis en train d'essayer Xcas pour la transformée de Laplace. Xcas me donne bien l'original de 1/p mais pas de exp(-p)/p qui est l'échelon unité retardé de 1. Xcas m'écrit seulement
sans faire le calcul.
Comment avoir le résultat, si c'est possible.
cordialement,
Xavier
Re: Transformée de Laplace
Publié : jeu. sept. 17, 2009 11:00 am
par parisse
Ca n'est pas encore implemente:-( En fait, les commandes laplace/ilaplace sont incompletes, je n'ai implemente que les cas qui sont necessaires a la resolution des equations/systemes differentielles lineaires a coeff constant avec second membre de type exp/sin/cos*polynome.
Re: Transformée de Laplace
Publié : jeu. sept. 17, 2009 11:13 am
par xavier
OK. Merci de ta réponse.
Et tu penses l'implémenter ou pas ? car ce serait une excellente idée pour le programme de BTS groupe A, tout comme la transformée en Z
A bientôt et encore félicitations pour tout le travail que tu fais sur Xcas

Re: Transformée de Laplace
Publié : jeu. sept. 17, 2009 11:54 am
par parisse
Tout depend de ce qu'il faut implementer. Actuellement, j'ai les fractions rationnelles. Il faudrait donc exp(a*x)*fraction rationnelle (ca devrait etre assez facile), mais quoi d'autre?
Pour la transformee en Z, il faut que je me renseigne, je n'y connais rien, as-tu un point de depart a me suggerer?
Re: Transformée de Laplace
Publié : jeu. sept. 17, 2009 12:36 pm
par xavier
parisse a écrit :Actuellement, j'ai les fractions rationnelles. Il faudrait donc exp(a*x)*fraction rationnelle (ca devrait etre assez facile), mais quoi d'autre?
Oui, c'est ça, ceci pour la transformée inverse. C'est à peu près tout ce dont on a besoin en BTS. Faut juste bien définir la fonction échelon unité ou d'Heaviside.
parisse a écrit :
Pour la transformee en Z, il faut que je me renseigne, je n'y connais rien, as-tu un point de depart a me suggerer?
Tu as un cours de BTS dessus
ici qui te décrit ce que c'est. Pour la transformée en Z inverse, on n'utilise que des fonctions rationnelles en z.
Je te joins l'extrait du formulaire qu'on utilise en BTS
Merci pour ta réponse rapide

Re: Transformée de Laplace
Publié : ven. sept. 18, 2009 11:21 am
par parisse
Ok, merci pour les docs. Je vais rajouter une fonction Heaviside et une fonction Dirac, et essayer d'implementer ce qui manque. A priori la transformation en z doit deja pouvoir se faire en demandant le calcul de la somme sur les cas interessants en BTS. Pour l'inverse si j'ai bien compris il s'agit a nouveau d'une decomposition en elements simples.
Re: Transformée de Laplace
Publié : sam. sept. 19, 2009 11:52 am
par xavier
Bonjour Bernard,
parisse a écrit : Je vais rajouter une fonction Heaviside et une fonction Dirac, et essayer d'implementer ce qui manque.
c'est une excellente idée.
parisse a écrit :
A priori la transformation en z doit deja pouvoir se faire en demandant le calcul de la somme sur les cas interessants en BTS.
J'ai pas essayé de faire directement ce calcul de la somme avec xcas. Il est vrai qu'en BTS, on utilise directement la table.
parisse a écrit :
Pour l'inverse si j'ai bien compris il s'agit a nouveau d'une decomposition en elements simples.
Oui, c'est ça, plus précisément de Zx(z)/z toujours pour la même raison : la table du formulaire.
Voici quelques sujets de ce qui est demandé en BTS par exemple
en 2006 et
en 2008 Laplace et transformée en z.
Re: Transformée de Laplace
Publié : mar. sept. 22, 2009 12:58 pm
par parisse
Bon, je viens de mettre a jour les version linux, avec une 1ere version de transf. en z et inverse a tester, ainsi qu'une petite amelioration de ilaplace (egalement nomme invlaplace).
Les noms de commande sont: laplace/invlaplace/ztrans/invztrans/Heaviside/Dirac (pas encore commentes). Par ex.
ztrans(a^n,n,z)
invztrans(a/(z-a),z,n)
Il y a surement des bugs qui restent...
Re: Transformée de Laplace
Publié : mar. sept. 22, 2009 4:22 pm
par xavier
Bonjour Bernard,
Je viens de faire qques essais pour la transformée de laplace et en z (ainsi que inverse) ça marche nickel sur ces qques exemples. Je vais continuer sur d'autres exemples, et je te tiens au courant. Pour la transformée de laplace inverse, la commande invlaplace ne fonctionne pas, mais ilaplace.
Je n'ai pas essayé le Dirac... il est vrai que je ne l'utilise pas (ou peu) en BTS.
Merci pour cette amélioration rapide
A bientôt
Xavier
Re: Transformée de Laplace
Publié : jeu. sept. 24, 2009 8:27 am
par xavier
Bonjour,
Je viens de faire qques essais plus approfondis et je te livre qques bugs que j'ai obtenu.
1. Pour la transformée de laplace
me renvoie un warning
Code : Tout sélectionner
Warning, integration of abs or sign assumes constant sign by intervals (correct if the argument is real):
Check Vector [abs(sin(t))]
Discontinuities at zeroes of sin(t) were not checked
et me donne comme transformée
alors que ça devrait être
Je n'ai pas réussi à avoir la transformée de
en ayant au préalable mis
, il me le laisse sous forme d'intégrale
Code : Tout sélectionner
integration((cos(a*t)-cos(b*t))*1/t*exp(-p*t),t,0,+(infinity))
j'ai peut être fait une erreur de syntaxe.
2. Pour la transformée inverse
cela me donne
: le dernier morceau n'est pas remplacé par un Dirac, alors que si on décompose en éléments simples et que je demande la transformée inverse, xcas me sort bien le Dirac.
Une petite chose "surprenante" : pour l'original de
xcas me sort un sinus hyperbolique, qui est correct, mais quand je demande l'original de
il me le met sous forme exponentielle mais pas en cosinus hyperbolique. Ceci n'est pas grave
2. Pour la transformée en z, xcas n'a pas réussi à me donner la transformée en z de
il me la laisse sous forme de série
Code : Tout sélectionner
sum((n/3+1/-36-(9*(-1)^n)/4+(77*(-1)^n*2^n)/18)*z^(-n),n,0,+(infinity))
3. Pour la transformée inverse en z, j'ai un bug pour
Code : Tout sélectionner
invztrans((2*z^ 2)/((z+1)*(z+2))+(1/2)*z*(3*z+1)/((z-1)^ 2*(z+1)*(z+2)),z,n)
qui me donne
alors que je devrais avoir
, expression que j'obtiens bien en décomposant en éléments simples et en prenant l'inverse de chacun des membres.
voili, voilà ce que j'ai pu relever.
A bientôt et merci pour ton remarquable boulot sur Xcas
Xavier
Re: Transformée de Laplace
Publié : jeu. sept. 24, 2009 12:55 pm
par parisse
bon, j'ai corrige le bug de invztrans (xcas_root.tgz est a jour), je regarderai pour laplace plus tard. Qu'est-ce que ca devrait donner pour les cos/sin divises par t? Des trucs avec des Ei?
Re: Transformée de Laplace
Publié : jeu. sept. 24, 2009 1:44 pm
par xavier
parisse a écrit :bon, j'ai corrige le bug de invztrans (xcas_root.tgz est a jour),
OK, merci
parisse a écrit :
je regarderai pour laplace plus tard. Qu'est-ce que ca devrait donner pour les cos/sin divises par t? Des trucs avec des Ei?
c'est quoi des Ei ?
Pour 2(1-cos(omega t))/t ça donne ln(1+(p/omega)^2) (attention on ne peut pas mettre directement un cos(t)/t car pas intégrable en 0), et pour du sin(t)/t la transformée est arctan(1/p).
Il ya aussi la transformée de laplace de sin(sqrt(t)) que xcas n'a pas voulu me donner. Bon, ce genre de signal, on ne l'utilise pas tous les jours

Re: Transformée de Laplace
Publié : jeu. sept. 24, 2009 2:55 pm
par parisse
xavier a écrit : c'est quoi des Ei ?
|/quote]
Ei c'est une primitive de exp(t)/t. Mais je viens de réaliser qu'on pouvait calculer cette transformée de Laplace en dérivant par rapport à p puis en intégrant d'où les ln ou les arctan. C'est grace aux bornes 0 et inf qui font disparaitre les exponentielles. Je ne sais pas si je pourrai rajouter ce cas particulier dans les intégrales définies.
Il ya aussi la transformée de laplace de sin(sqrt(t)) que xcas n'a pas voulu me donner. Bon, ce genre de signal, on ne l'utilise pas tous les jours

La ça doit pouvoir se faire par changement de variables u=sqrt(t) et passage du sin dans la gaussienne et pareil que le précédent.
Re: Transformée de Laplace
Publié : jeu. sept. 24, 2009 3:02 pm
par xavier
parisse a écrit :
Ei c'est une primitive de exp(t)/t
Ah oui, c'est vrai.
parisse a écrit :
Mais je viens de réaliser qu'on pouvait calculer cette transformée de Laplace en dérivant par rapport à p puis en intégrant d'où les ln ou les arctan.
Oui, c'est comme ça qu'on les détermine à la main, car F'(p)=laplace(-tf(t))
Re: Transformée de Laplace
Publié : ven. sept. 25, 2009 9:03 am
par parisse
Je viens de retoucher a laplace (et du coup corrige quelques bugs dans l'integration et les limites...), ca va marcher pour laplace(.../t,t,p), par contre pas pour les abs et je laisse pour le moment tel quel en esperant que les utilisateurs liront le warning. En fait xcas est capable de determiner la primitive de abs(sin(t))*exp(-p*t) mais intervalle par intervalle, sans faire les recollements, qui donne lieu a une somme de series. Un jour j'espere ajouter ce type de tests (mais en general pour l'integration pas specifiquement pour laplace) et ca devrait alors marcher:
a:=int(abs(sin(t))*exp(-p*t),t);
limit(a,t=pi,-1);
limit(a,t=pi,1);
Je n'ai pas non plus ajoute les derivees de la distribution de Dirac, donc seules les parties entieres constantes seront prises en compte pour une invlaplace.
Voila, xcas_root est a jour, et les debian devraient l'etre dans l'apres-midi!