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.