Forum

Catégorie : Programmes
Forum : Aide à la programmation
Vues : 785
Réponses : 5
Type : discussion
Etat : réponses autorisées

Probleme de derivée

Mydep le 07/01/2009 à 15:36
Bonjour,

J'essaye de faire le programme pour verifié une derivée d'une expression mais quoi que je fasse il me met toujours que la derivée est "OK" même si elle est fausse.

Merci d'avance.
Code
:ClrHome
:Lbl M
:Menu("VERIF DERIV","VERIFIER",V,"AIDE",A,"QUITTER",Q)
:Lbl A
:Output(1,1,"AIDE :")
:Output(3,1,"ENTRER F DANS Y1")
:Output(5,2,"ET SA DERIVEE")
:Output(7,5,"DANS Y2")
:Pause
:Goto M
:Lbl V
:nDeriv(Y1,X,145) -> A (* "X" se trouve sur la touche "X,T,[THETA]"; la valeur 145 peut etre remplacée ! *)
:Y2(145) -> B (* "145" ce nombre doit etre egal au précédent ! *)
:abs(B-A) -> C
:If c<0.1 (* "0.1" est le seuil de tolérence, peut etre diminué pour augnenter la précision du calcul ! *)
:Then
:Output(4,4,"DERIVEE OK")
:Else
:Output(4,1,"ERREUR DE DERIV.")
:End
:Pause
:Lbl Q
:ClrHome
coc5 le 07/01/2009 à 17:13
Sans doute car tu vérifie en un seul point !
Il faut vérifier sur un interval sinon ça ne veut rien dire, ce sera souvent vrai.
J'ai fais un programme comme ça et c'est la seule manière d'avoir un résultat fiable.
Je te conseil d'afficher en % de fiabilité au lieu d'un Oui/Non.
Mydep le 07/01/2009 à 18:38
Merci pour ta réponse mais je débute en programmation pourrait tu être un peu plus claire (oui je sais je suis i moodforlove.gif moodforlove.gif moodforlove.gif moodforlove.gif laugh.gif ).De plus je me suis aperçu que j'avais fait une erreur dans le script, mais maintenant cela m'affiche que des derivées fausse.

Merci d'avance.
coc5 le 07/01/2009 à 20:49
Et bien tu teste seulement si la dérivée est bonne en un point de la courbe.
Ca ne suffit pas pour dire si c'est une bonne dérivée.
Sinon pour le % tu fais en fonction de C (la différeence entre A et B), par exemple:
Code
Disp "La dérivée est bonne à (%):
Disp "100-log(C
Mydep le 08/01/2009 à 19:32
Ok merci.
coc5 le 09/01/2009 à 18:06
Mais le 100-log(C était un exemple, dans ce cas précis ce serait plutôt
Code
Disp int(101+log(C+1e14