Méthode de dérivée généralisée

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

Méthode de dérivée généralisée

par anima » 15 Sep 2006, 18:33

Bonjour,

Etant en terminale S, je me pose des questions sur la réalisation possible d'un programme (ou d'une fonction) en PHP permettant de dériver. Le problème, c'est la méthode. Remplacer bêtement par les formules me semble trop simple, et pas assez adapté. Y a-t-il donc une méthode pour dériver de facon la plus automatique possible (un peu comme une sorte de delta au lieu de forme cannonique pour équation du second degré, ou formule de Descarte pour 3e degré) une fonction?

(J'utiliserai cette fonction pour calculer des développements limités suivant la formule de Taylor-Jung, donc bon...)

Si quelqu'un a une solution, ca serait génial.



Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 15 Sep 2006, 18:41

Je te rappelle que la dérivée n'est qu'une généralisation du nombre dérivé que tu as vu en premiere...

cette limite doit exister et etre finie. Et le nombre ainsi trouvé est le nombre dérivée de f en x0

Rappel: c comme ça qu'on prouve la dérivabilité en un point...


Mais le plus dur, pour programmer, n'est pas de dériver mais de comprendre l'expression a dérivée. Une fois que tu as su conceptualiser, un bon petit tableau de correspondance, et ça roule.
La dérivation est très mécanique!

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 15 Sep 2006, 18:46

Flodelarab a écrit:Je te rappelle que la dérivée n'est qu'une généralisation du nombre dérivé que tu as vu en premiere...

cette limite doit exister et etre finie. Et le nombre ainsi trouvé est le nombre dérivée de f en x0

NB:rappel: c comme ça qu'on prouve la dérivabilité en un point...


Mais le plus dur, pour programmer, n'est pas de dérivée mais de comprendre l'expression a dérivée. Une fois que tu as su conceptualisé, un bon petit tableau de correspondance, et ça roule.
La dérivation est très mécanique!

Si c'était une dérivabilité en un point, j'aurai la vie facile. Malheureusement non.

Ce que je dois faire à la fin est:
DL_3: f(0)

Donc, il me faut une expression en retour, et non pas une dérivée. Et c'est ca qui m'embète...

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 15 Sep 2006, 18:49

Ok!

Mais quelle est l'expression en entrée ?

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 15 Sep 2006, 18:56

Flodelarab a écrit:Ok!

Mais quelle est l'expression en entrée ?


En théorie, cela peut être n'importe quoi. x...x²... ...cos x...

Quoique, en général les développements limités sont utilisés pour donner une approximation des fonctions trigo. Donc, s'attendre à sinus, cosinus, tangente, arctangente, arcsinus, arccosinus, et autres...

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 15 Sep 2006, 19:01

Tu ne ve pas voir mon argument. :-)
Je dis que pour dériver, il faut savoir de koi tu parles. Donc il te faut un parser d'expression. Un truc qui découpe ton expression en bout compréhensible.

Une fois que tu sais la fonction type de départ et ce sur quoi elle s'applique, c fini !

Je te rappelle que : (f(g))'(x)=f'(g(x))*g'(x)

Je ne sais pas comment tu fais pour tes dérivées, mais cette formule dois etre la seule qui te guide. Tu peux faire des dérivées a l'infini de composition très compliquée de fonctions.

oui? non ?

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 15 Sep 2006, 19:12

Flodelarab a écrit:Tu ne ve pas voir mon argument. :-)
Je dis que pour dériver, il faut savoir de koi tu parles. Donc il te faut un parser d'expression. Un truc qui découpe ton expression en bout compréhensible.

Une fois que tu sais la fonction type de départ et ce sur quoi elle s'applique, c fini !

Je te rappelle que : (f(g))'(x)=f'(g(x))*g'(x)

Je ne sais pas comment tu fais pour tes dérivées, mais cette formule dois etre la seule qui te guide. Tu peux faire des dérivées a l'infini de composition très compliquée de fonctions.

oui? non ?


Mais je l'ai le parser. Y'a aucun problème la dessus. Le gros problème est comment rendre "intelligent" le programme. Pour le moment, je dérive sans problème beaucoup de choses, mais ca pourrait être mieux. Et pour les dérivées, j'utilise un tableau de formules donné par mon prof de maths. Si c'était si simple, je ne demanderais pas d'aide, mais ca ne l'est pas. Pour les expressions "simples" (somme de fonctions trigo, soustractions, et division simples), aucun problème, ca marche impec'. Mais quand il s'agit de faire des multiplications, divisions etc...le truc s'embrouille très vite, ou il faut attendre 5 bonnes secondes avant d'avoir une dérivée tellement il y a de récurrences et de boucles. (aha. -u'/u² quand la fonction u est elle aussi une fraction fait 3 fois appel à ma fonction de dérivation. En dérivant 6 ou 7 fois, buffer overflow). Voila pourquoi je demande si il y a une nouvelle méthode :mur:

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 15 Sep 2006, 19:23

Chaque fonctions, ses problemes.

en ce qui concerne la division, il faut que tu fasses une méthode de mise au meme dénominateur. Pour n'avoir toujours qu'un numérateur et 1 dénominateur.

Ta méthode de stockage, reste un mystère pour moi.

Si,au pire, tu dérives 7 fois, aucune raison d'overflow. Peux tu mettre ton code pour qu'on voit le pb ?

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 17 Sep 2006, 16:53

Flodelarab a écrit:Chaque fonctions, ses problemes.

en ce qui concerne la division, il faut que tu fasses une méthode de mise au meme dénominateur. Pour n'avoir toujours qu'un numérateur et 1 dénominateur.

Ta méthode de stockage, reste un mystère pour moi.

Si,au pire, tu dérives 7 fois, aucune raison d'overflow. Peux tu mettre ton code pour qu'on voit le pb ?


Bonne idée pour le dénominateur. Je n'y avais pas pensé...

Sinon, pour l'overflow, en nettoyant le code j'ai réussi à empecher le plantage...Mais il faut quand même un peu plus de 3 secondes au delà de 4 dérivées. Ce qui n'est pas super. Je posterai le code si j'arrive à l'améliorer, là, c'est la galère. Enfin, si chaque fonction, chaque problème, alors je pense que ma question n'a pas vraiment de réponse :ptdr:

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 17 Sep 2006, 17:44

anima a écrit:Bonne idée pour le dénominateur. Je n'y avais pas pensé...

Sinon, pour l'overflow, en nettoyant le code j'ai réussi à empecher le plantage...Mais il faut quand même un peu plus de 3 secondes au delà de 4 dérivées. Ce qui n'est pas super. Je posterai le code si j'arrive à l'améliorer, là, c'est la galère. Enfin, si chaque fonction, chaque problème, alors je pense que ma question n'a pas vraiment de réponse :ptdr:

3 secondes, meme pour du PHP, c énorme!
Qu'est ce qui prend autant de temps ?

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 17 Sep 2006, 17:48

Flodelarab a écrit:3 secondes, meme pour du PHP, c énorme!
Qu'est ce qui prend autant de temps ?

Le code est un brouillon, et la fonction s'appelle (elle même) plusieurs fois. En gros, la fonction s'appelle par récurrence si il y a quelque chose à dériver dans la dérivée. Genre appellerait 2 fois la fonction car
De la, ca fait 3 appels. Imagine 7 fois ca pour un développement limité...Quand je disais 7s, c'était pour sortir le développement limité, hein

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 17 Sep 2006, 18:21

anima a écrit:Le code est un brouillon, et la fonction s'appelle (elle même) plusieurs fois. En gros, la fonction s'appelle par récurrence si il y a quelque chose à dériver dans la dérivée. Genre appellerait 2 fois la fonction car
De la, ca fait 3 appels. Imagine 7 fois ca pour un développement limité...Quand je disais 7s, c'était pour sortir le développement limité, hein

Je vais en faire un de mon coté en C++. Si je mets 1s, je t'accorde tes 7s.

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 17 Sep 2006, 18:27

Flodelarab a écrit:Je vais en faire un de mon coté en C++. Si je mets 1s, je t'accorde tes 7s.

3s* pas 7s. J'ai le cerveau qui part en lambeaux la :hum:

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 18 Sep 2006, 12:16

anima a écrit:3s* pas 7s. J'ai le cerveau qui part en lambeaux la :hum:

Je confirme ce que je disais. 3 secondes, c trop long. Meme en PHP.
G fait un petit programme (en C++) et il sort la réponse instantanément.
Voici un exmple de sortie possible:

P(x) = (cos(x)+x*sin(x))
dP(x) = ((-sin(x))*1+(1*sin(x)+x*cos(x)*1))
ddP(x) = (((-cos(x)*1)*1+(-sin(x))*0)+((0*sin(x)+1*cos(x)*1)+(1*cos(x)*1+x*((-sin(x))*1*1+cos(x)*0))))
dddP(x) = ((((-((-sin(x))*1*1+cos(x)*0))*1+(-cos(x)*1)*0)+((-cos(x)*1)*0+(-sin(
x))*0))+(((0*sin(x)+0*cos(x)*1)+(0*cos(x)*1+1*((-sin(x))*1*1+cos(x)*0)))+((0*cos
(x)*1+1*((-sin(x))*1*1+cos(x)*0))+(1*((-sin(x))*1*1+cos(x)*0)+x*((((-cos(x)*1)*1
+(-sin(x))*0)*1+(-sin(x))*1*0)+((-sin(x))*1*0+cos(x)*0))))))


Reste plus qu'a coder la fonction de simplification (que ce soit de fraction ou autre...comme on le voit :ptdr: )
OUI! la dérivée est mécanique. Mis à part les problemes de dérivabilité et d'ensemble de définition évidemment.

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 18 Sep 2006, 17:14

Flodelarab a écrit:Je confirme ce que je disais. 3 secondes, c trop long. Meme en PHP.
G fait un petit programme (en C++) et il sort la réponse instantanément.
Voici un exmple de sortie possible:

P(x) = (cos(x)+x*sin(x))
dP(x) = ((-sin(x))*1+(1*sin(x)+x*cos(x)*1))
ddP(x) = (((-cos(x)*1)*1+(-sin(x))*0)+((0*sin(x)+1*cos(x)*1)+(1*cos(x)*1+x*((-sin(x))*1*1+cos(x)*0))))
dddP(x) = ((((-((-sin(x))*1*1+cos(x)*0))*1+(-cos(x)*1)*0)+((-cos(x)*1)*0+(-sin(
x))*0))+(((0*sin(x)+0*cos(x)*1)+(0*cos(x)*1+1*((-sin(x))*1*1+cos(x)*0)))+((0*cos
(x)*1+1*((-sin(x))*1*1+cos(x)*0))+(1*((-sin(x))*1*1+cos(x)*0)+x*((((-cos(x)*1)*1
+(-sin(x))*0)*1+(-sin(x))*1*0)+((-sin(x))*1*0+cos(x)*0))))))


Reste plus qu'a coder la fonction de simplification (que ce soit de fraction ou autre...comme on le voit :ptdr: )
OUI! la dérivée est mécanique. Mis à part les problemes de dérivabilité et d'ensemble de définition évidemment.


Pas mal. Pas mal. Bref, je dois revoir mon code :id: je ferai ca après ma dissert de philo

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 18 Sep 2006, 20:20

G commencer les simplification essentielles comme:
  • multiplication par 1
  • multiplication par 0
  • addition de 0
  • double opposition


Mais g toujours un petit probleme de regroupement de termes
:ptdr: :ptdr: :ptdr:

Regarde: P(x) et sa dérivée (1ere, 2nde, 3eme et 6ème)
Code: Tout sélectionner
[SIZE=1] P(x) = sin(exp((x+1)))
 dP[1](x) = cos(exp((x+1)))*exp((x+1))
 dP[2](x) = ((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))
)
 dP[3](x) = ((((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((
x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1)))+((-sin(exp((x+1))))*
exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))
 dP[6](x) = ((((((((((-((((((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp(
(x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos
(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))))*exp((x+1))+(
(-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1
)))+(((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*ex
p((x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1))))+((((-cos(exp((x+1)))*exp((x+
1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp
((x+1))*exp((x+1)))+((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*ex
p((x+1))))))*exp((x+1))+(-((((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp(
(x+1))))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1)))+((-sin
(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1)))))*exp((x+1)))+((
-((((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp(
(x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1)))+((-sin(exp((x+1))))*exp((x+1))*
exp((x+1))+cos(exp((x+1)))*exp((x+1)))))*exp((x+1))+(-((-sin(exp((x+1))))*exp((x
+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))))+(((-((((-cos(exp((x+1)
))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))+(-sin(exp((x
+1))))*exp((x+1))*exp((x+1)))+((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp(
(x+1)))*exp((x+1)))))*exp((x+1))+(-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos
(exp((x+1)))*exp((x+1))))*exp((x+1)))+((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1
))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+
1)))))+((((-((((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((
x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1)))+((-sin(exp((x+1))))*
exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1)))))*exp((x+1))+(-((-sin(exp((x+1
))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1)))+((-((-sin(ex
p((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(e
xp((x+1)))*exp((x+1)))*exp((x+1))))+(((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1)
)+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1
)))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))))))*
exp((x+1))+((((-((((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*e
xp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1)))+((-sin(exp((x+1)
)))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1)))))*exp((x+1))+(-((-sin(exp(
(x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1)))+((-((-si
n(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-c
os(exp((x+1)))*exp((x+1)))*exp((x+1))))+(((-((-sin(exp((x+1))))*exp((x+1))*exp((
x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp(
(x+1)))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))
))*exp((x+1)))+(((((-((((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1)
)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1)))+((-sin(exp(
(x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1)))))*exp((x+1))+(-((-sin
(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1)))+((-
((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1)
)+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1))))+(((-((-sin(exp((x+1))))*exp((x+1))*
exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))
*exp((x+1)))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x
+1)))))*exp((x+1))+(((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))
*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(exp((x
+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))))*exp((x+1))))+((((((
-((((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp(
(x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1)))+((-sin(exp((x+1))))*exp((x+1))*
exp((x+1))+cos(exp((x+1)))*exp((x+1)))))*exp((x+1))+(-((-sin(exp((x+1))))*exp((x
+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1)))+((-((-sin(exp((x+1))))*
exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*
exp((x+1)))*exp((x+1))))+(((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((
x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(
exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))))*exp((x+1))+(
((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x
+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(exp((x+1)))*exp((x+1)))*ex
p((x+1))+(-sin(exp((x+1))))*exp((x+1))))*exp((x+1)))+((((-((-sin(exp((x+1))))*ex
p((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*ex
p((x+1)))*exp((x+1)))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))
))*exp((x+1))))*exp((x+1))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((
x+1))))*exp((x+1)))*exp((x+1)))))+(((((((-((((-cos(exp((x+1)))*exp((x+1)))*exp((
x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*ex
p((x+1)))+((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))
)*exp((x+1))+(-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+
1))))*exp((x+1)))+((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*e
xp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1))))+(((-((-sin(exp
((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(ex
p((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-si
n(exp((x+1))))*exp((x+1)))))*exp((x+1))+(((-((-sin(exp((x+1))))*exp((x+1))*exp((
x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp(
(x+1)))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))
)*exp((x+1)))+((((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp
((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(exp((x+1))
)*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))))*exp((x+1))+((-cos(exp((
x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))))+(((((-
((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1)
)+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(exp((x+1)))*exp((x+1)))*exp((
x+1))+(-sin(exp((x+1))))*exp((x+1))))*exp((x+1))+((-cos(exp((x+1)))*exp((x+1)))*
exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1)))+(((-cos(exp((x+1)))*exp((x
+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*ex
p((x+1))*exp((x+1))))))+((((((((-((((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-s
in(exp((x+1))))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*exp((x+1)))
+((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1)))))*exp((x+
1))+(-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp
((x+1)))+((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))
))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1))))+(((-((-sin(exp((x+1))))
*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))
*exp((x+1)))*exp((x+1)))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+
1))))*exp((x+1)))))*exp((x+1))+(((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos
(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+(
(-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))))*exp((x+
1)))+((((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))
*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(exp((x+1)))*exp((x+
1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))))*exp((x+1))+((-cos(exp((x+1)))*ex
p((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))))+(((((-((-sin(ex
p((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1))))*exp((x+1))+(-cos(e
xp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1))+(-s
in(exp((x+1))))*exp((x+1))))*exp((x+1))+((-cos(exp((x+1)))*exp((x+1)))*exp((x+1)
)+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1)))+(((-cos(exp((x+1)))*exp((x+1)))*exp
((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*
exp((x+1)))))+((((((-((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*e
xp((x+1))))*exp((x+1))+(-cos(exp((x+1)))*exp((x+1)))*exp((x+1)))+((-cos(exp((x+1
)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))))*exp((x+1))+((-cos(exp
((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1)))+(((-c
os(exp((x+1)))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))+
(-sin(exp((x+1))))*exp((x+1))*exp((x+1))))+((((-cos(exp((x+1)))*exp((x+1)))*exp(
(x+1))+(-sin(exp((x+1))))*exp((x+1)))*exp((x+1))+(-sin(exp((x+1))))*exp((x+1))*e
xp((x+1)))+((-sin(exp((x+1))))*exp((x+1))*exp((x+1))+cos(exp((x+1)))*exp((x+1)))
))))[/SIZE]

nox
Membre Complexe
Messages: 2157
Enregistré le: 14 Juin 2006, 09:32

par nox » 19 Sep 2006, 08:49

y manque pas un moins ? :ptdr:
Moi jl'ai fait de tete et je trouve un -exp(x+1) à la 17eme ligne :zen:

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 19 Sep 2006, 10:46

nox a écrit:y manque pas un moins ? :ptdr:
Moi jl'ai fait de tete et je trouve un -exp(x+1) à la 17eme ligne :zen:

hihihi
Non! Il n'en manque pas 1. Non seulement, cette dérivée est juste mais en plus, elle est fonctionnelle! Je peux calculer sa valeur pour un x particulier. Ce n'est pas qu'une écriture :-)

Oui! De tete. Moi aussi.

Non! Pas -exp(x+1). Incohérent. C impossible car la dérivée de exp(x+1) est exp(x+1). D'ou viendrait ce moins ?

:briques:

nox
Membre Complexe
Messages: 2157
Enregistré le: 14 Juin 2006, 09:32

par nox » 19 Sep 2006, 10:50

ba j'ai juste factorisé par -exp(x+1) en fait :we:

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 22 Oct 2006, 21:01

Flodelarab a écrit:hihihi
Non! Il n'en manque pas 1. Non seulement, cette dérivée est juste mais en plus, elle est fonctionnelle! Je peux calculer sa valeur pour un x particulier. Ce n'est pas qu'une écriture :-)

Oui! De tete. Moi aussi.

Non! Pas -exp(x+1). Incohérent. C impossible car la dérivée de exp(x+1) est exp(x+1). D'ou viendrait ce moins ?

:briques:

[PHP]
function derivate_poly($function) {
$q = explode(" ",$function);
foreach ($q as $r => $s) {
if (strlen($s) > 1) {
$t = eregi("([0-9]+)\((.+)\)\^([0-9-])",$s,$w);
if (is_array($w)) {
print_r($w);
if ($w[3] == 1) {
$c1 = $w[1];
$c2 = $this->derivate_single(str_replace("+"," + ",str_replace("-"," - ",$w[2])));
$df[] = $c1*$c2."x^0";
}
elseif ($w[3] == 0) $df[] = 0;
else {
$c1 = $w[1]*$w[3];
$pfin = $w[3]-1;
$c2 = $this->derivate_single(str_replace("+"," + ",str_replace("-"," - ",$w[2])));
if (is_int($c2)) {
$c3 = $c1*$c2;
$df[] = $c3."(".$w[2].")^".$pfin;
}
else {
$df[] = $c1."(".$c2.")(".$w[2].")^".$pfin;
}
}
}
else $df[] = $s;
}
else $df[] = $t;
}
return implode($df);
}[/PHP]

Voila ce que j'ai comme fonction, et la ca tourne impec'. Moins de 0.1s pour un polynome assez compliqué :D

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 46 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite