Forum

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

Programme tangeante

Lulugeek le 16/10/2013 à 17:13
Bonjour bonjours happy.gif

Voila j adore la programmation, j ai une tonne d idee et je bloque sur l une d elle... Je voudrais faire un programme ti 82 pour calculer l equation de la tengente en un point nomme A
je me demande comment je pourrais faire afficher l image de ce nombre A selon la fonction definie precedement... Pourriez vous m aider? happy.gif
m@thieu41 le 16/10/2013 à 20:42
Bonjour (et bienvenue sur le fofo),

Je n'ai pas bien compris ce que tu demande: de l'aide pour calculer un nombre dérivé, l'équation d'une tangente, ou autre?

Si tu as déjà commencé un peu poste le début ici.
Lulugeek le 17/10/2013 à 06:25
Alors, ce que je souhaiterais faire, c est calculer l equation de la tangeante en un point donné nommé A, selon la relation mathematique suivante:
(T):y= f'(a) *(X-a)+f(a)

donc j aimerai savoir si il existe une ligne de commande permettant d afficher f(a)..
Je me demande aussi si , etant donne que la ti ne prene pas en compte le calcul formel, on pouvvait utiliser x seul ou dans une chaine peut etre...

Pour l instant le prog ressemvle a ça:
Code
:input "f(x)=" , chaine 1
:input "f'(x)=",chaine 2
:chaine1 -->Y1
:chaine2-->Y2

j ai ausdi en tete de creer un 10 eme prog pour les derives mais ce me semble complique...
linkakro le 17/10/2013 à 14:55
Ne confond pas Ti82 et Ti82stat. La ti82 n'a pas de chaînes de caractères et de nombreuses ambiguités.

Rappel : Input n'a pas besoin de saisir les guillemets pour la saisie d'une chaine. (comme ça c'est dit, pas de problème possible)

Des méthodes de calcul
Code
 // interpétation de la chaine
expr(Str1)
 // convertion en équation
Str1->Y1
 // calcul en X
Y1
 // calcul en substituant n'importe quoi à X
Y1(A+B)
 // récursivité des équations : ici Y1 sera appelé pour chaque calcul de Y2
"Y1(A)+X"->Y2

Interpréter la chaine a l'avantage de pouvoir contrôler les variables si on calcule chaque pont soi-même.

Calculer Y1 en substituant, cela permet justement de substituer les valeur.


Je génère des fonctions qui dépendent de A, donc A peut être modifié pour appliquer le changement par la suite. Mais cela ralenti même si A est fixe.

Si tu donnes les deux expressions à la TI, le calcul est vraiment facile.
Ici je donne la fonction selon X, la dérivée selon X et l'abscisse de tangeance.
Code
Input "F(X)=",Str1
Input "F'(X)=",Str2
Prompt A
Str1->Y1
Str2->Y2
"Y2(A)*(X-A)+Y1(A)->Y3
Trace


Si tu veux calculer la valeur approchée de la dérivée, utilises simplement nDeriv=nbreDérivé
nDeriv(expression,variable,abscisse[,précisionabscisse])
la précision est par défaut 10^-3.
L'expression est une équation ou une chaîne.
Code
Input "F(X)=",Str1
Prompt A
Str1->Y1
"nDeriv(Str1,X,A->Y2
"Y2(A)*(X-A)+Y1(A)->Y3
Trace
Ci-dessus le calcul en fonction de A est très lent. Voici une manière de fixer pour A donné.
Code
Input "F(X)=",Str1
Prompt A
Str1->Y1
nDeriv(Str1,X,A->N
Y1(A)->Y
"N*(X-A)+Y->Y3  // tangente
Trace


Si tu veux générer l'expression complète :
-tu dois soit respecter les syntaxes fermantes lors de la saisie soit les contrôler
-tu dois t'embêter à substituer les variables

Je choisis de réserver Z pour mon algorithme.
Code
Input "F(X)=",Str1
Input "F'(X)=",Str2
Prompt A
Str1->Y1
Str2->Y2
"("+Str2+")(Z-X)"+Str1->Str3  // (f'(x)(z-x)+f(x) // il faut substituer z,x,a
length(Str3->L
inString(Str3,"X->W
While W
sub(Str3,W-1,1)+"A"+sub(Str3,W+1,L-W->Str3
inString(Str3,"X",W->W
End
inString(Str3,"Z
sub(Str3,Ans-1,1)+"X"+sub(Str3,Ans+1,L-Ans->Str3
Str3->Y3
Trace
Pour seulement calculer et tracer indépendamment de l'expression, tu peux calculer chaque point toi-même et choisir tes variables.