| température de refroidisselent |
| Auteur |
Message |
mathou
Invité
|
Posté le : Mer 27 Nov 2013, 13:32
|
|
|
Bonjour, je viens ici car je bloque sur un exercice et on nous demande de faire un algorithme, pouvez vous m'aider svp ? 
Voici l'énoncé: La température de refroidissement d’un objet fabriqué industriellement est une fonction f du temps t.
f est définie sur l’ensemble des nombres réels positifs et vérifie l’équation différentielle : f'(t) + (1/2)*f(t) =10
2)b) Utiliser un algorithme pour déterminer une valeur approchée, en heures et minutes, du moment où la température de l’objet est 50 C.
Merci d'avance. 
|
| |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
m@thieu41
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Mer 27 Nov 2013, 14:18
|
|
|
Bonjour,
(Je ne sais pas ce qu'est une équation différentielle ^^)
Mais déjà ce qu'il faut que tu fasses c'est te demander comment le programme doit fonctionner: comment le problème peut être résolu (à un niveau purement mathématique/physique)? (perso j'ai besoin de cette info pour t'aider parce que je ne sais pas comment on pourrait le résoudre puisque je ne sais pas retrouver la fonction f depuis l'équation que tu donnes: y a-t-il un moyen pour le faire? Parce que sinon je ne vois pas comment on pourrait calculer la valeur de t sans connaître cette fonction, puisque t s'exprime en fonction de t (à partir de là faire un algo est basique).
Ensuite essaye de voir les différentes étapes de ton algo en fonction de ce que tu auras trouvé, et demande nous si tu n'arrives pas à réaliser quelque chose.
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne  |
 |
|
| |
mathou
Invité
|
Posté le : Mer 27 Nov 2013, 17:40
|
|
|
Re-bonjour, pour répondre c'est niveau mathématique.
Fonction : f(t) = 200e^(-(1/2)*t) + 20
f'(t)= -100e^(-t/2)
|
| |
|
| |
m@thieu41
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Mer 27 Nov 2013, 20:47
|
|
|
Ok donc on a:
f(t) = 200e^(-(1/2)*t) + 20
f'(t)= -100e^(-t/2)
De plus:
f'(t) + (1/2)*f(t) =10
Or on veut une température de 50°C, donc f(t) = 50.
f'(t) + 25 = 10
Soit:
-100e^(-t/2) = -15
donc
e^(-t/2) = 0.15
cad:
-t/2 = ln(0.15)
Donc t = -2ln(0.15)
t = 3.79423997
Tu n'as pas précisé l'unité de t...
Je penses que c'est en heures d'après l'énoncé donc
t = 3h48min ?
Bah on a la solution pourquoi faire un algo?
Les algo c'est bien mais quand ça simplifie la vie faut pas en abuser pour rien non plus (d'autant que je ne voit pas trop à quel moment faire un algo (proposition plus bas)).
Donc il y a plusieurs solutions:
1°) Je me suis trompé quelque part on est pas sensé pouvoir calculer la solution (le plus probable, je te laisse le soin de corriger mon raisonnement si besoin est).
2°) Un algorithme est inutile ici (possible également).
3°) On peut calculer le résultat mais on veut quand même un algo (on va considérer que c'est le cas ici).
Quand on avait:
f'(t) + 25 = 10
On peut écrire:
-100e^(-t/2) + 25 = 10
soit:
-100e^(-t/2) + 15 = 0
Donc (bien que ce soit un peu ridicule mais bon) on peut utiliser le prgm suivant:
| Code | solve(-100e^(-T/2)+15,T,1.7->T // On trouve une valeur approchée du résultat, en heures.
round(60fPart(Ans),0->M //On récupère les minutes (avec un arrondi)
Disp ent(T),"H",M,"MIN //On affiche le temps |
Je trouve bien 3h48 donc au moins c'est cohérent...
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne  |
 |
|
| |
mathou
Invité
|
Posté le : Mer 27 Nov 2013, 21:04
|
|
|
Mais on nous demande un algorithme, puis dans la question suivante un calcul.
|
| |
|
| |
mathou
Invité
|
Posté le : Mer 27 Nov 2013, 21:17
|
|
|
En faite un algorithme un peu plus développé avec un tant que et tout, des variables... c'est pour ça que je bloque.
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mer 27 Nov 2013, 21:17
|
|
|
Le but de cet exercice semble selon moi être de programmer l'approximation d'Euler.
Ce traitement est utile pour résoudre des problèmes pratiques dont les solutions mathématiques exactes sont impossibles ou difficiles à trouver. Autant s'entrainer sur un cas simple et vérifiable par la théorie.
J'ai déjà résolu le problème du calcul et du tracé sur ce forum et j'ai le programme adapté pour ça.
EDIT : Je n'ai pas encore de solveur de ton problème.
Je me demande si celui que j'ai hébergé et accessible par le lien général de ma signature est à jour.
EDIT immédiat : sources
https://tout82.pages-perso.free.fr/forum/sujet.php?sujet=3188
https://www.mediafire.com/download/43o46bs87o6esjw/APROXDIF.83p
Ni l'équation différentielle ni l'algorithme ne peuvent être étudiés avec une unique solution sans connaître une condition initiale.
La température est-elle nulle à l'instant nul par exemple ?
Et prendre la solution n'a pas vraiment d'intérêt dans un problème d'approximation, dans lequel on ne connaît pas la fonction.
#####
Les équations différentielles sont des équations dont les inconnues sont des fonctions et dans lesquelles interviennent les dérivées. Elles s'appellent ainsi à cause de la notation "différentielles" largement utilisées pour écrire des dérivées en particulier en physique. dx/dt est la dérivée première de x par rapport à t.
Il existe bien des méthodes pour résoudre des équations de formes classiques.
Mais au niveau du lycée les formes des solutions sont toujours données et la seule chose restante est d'identifier les paramètres.
Ci-dessous je me défoule avec la résolution complète.
f'(t)+f(t)/2=10
solution homogène générale : f0=l*exp(-t/2)
solution particulière hétérogène : fp=20
solution générale complète : f=f0+fp=20+l*exp(-t/2)
condition initiale : f(M)=N
N=20+l*exp(-M/2)
<=> l=(N-20)/exp(-M/2)
On pouvait aussi écrire la solution générale directement puisque c'est un cas particulier bien connu.
y'+ay=b
y=l*exp(-t/a)+b/a
#####
L'approximation affine d'un point (X,Y) connaissant le précédent (A,B) et la dérivée f'(A) est Y~~f'(A)*(X-A)+B
Si X-A=H est constant, Y~~f'(A)*H+B
Nous utiliserons ici l'équation différentielle pour connaître f'(A)=
f'(A) = 10-f(A)/2 = 10-B/2
On substitue cette dérivée dans l'approximation affine
Y~~ (10-B/2)*H+B
Y~~ B(1-H/2)+10*H
On calcule enfin les points de proche en proche (par récurrence) à des abscisses écartées du pas H. Y[n]=B[n+1]
L'ensemble de la méthode récurrente est la méthode d'Euler (que j'appelle abusivement approximation d'Euler).
Remarque: on a besoin de l'ordonnée initiale pour commencer.
Je ne garanti pas mes calculs, je fais ça à la volée.
#####
Voici un code écrit immédiatement.
EDIT: juste pour le tracé, pour l'instant
EDIT: remplacé Prompt par Input pour aider
| Code | Input "DEBUT=",A
Input "F(DEBUT)=",B
Input "PAS:",H
Input "FIN:",F
B
For(X,A,F,H
Ans(1-H/2)+10*H
pt-On(X,Ans
End |
ps : wtf les caractères html fi/fé
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
mathou
Invité
|
Posté le : Mer 27 Nov 2013, 21:49
|
|
|
Je ne comprends pas trop ton algorithme, peux-tu me l'expliquer s'il te plait ? merci d'avance.
|
| |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mer 27 Nov 2013, 23:51
|
|
|
Pardon :
-j'ai posté avant d'avoir fini car je ne fais que tracer la courbe
-les variables ne sont effectivement pas claires
-j'ai commis une petite erreur sur la borne initiale. (édité pour remplacé X par A)
Relis une fois mon message précédent.
-- théorie
Si c'est l'algorithme mathématique d'approximation d'euler qui te dérange, cela voudrait dire que tu ne l'as pas étudié en classe, et que ce n'est peut-être pas le but en fin de compte.
En effet on peut très bien résoudre le problème avec l'équation de la solution si elle est trouvée ou donnée au cours de l'exercice.
Je réexpliquerai la thorie quand j'aurai (et si j'ai) la confirmation que le problème vient de la théorie.
-- programme d'approximation d'euler
La saisie au début permet de définir l'abscisse initiale A, l'ordonnée initiale B (la variable B ne sera plus initiale ensuite), le pas H, et l'abscisse d'arrivée.
La boucle traitera toutes les abscisses espacées du pas H.
La variable Ans=answer=réponse=Rép permet de récupérer le résultat précédent, et ici cela permet de gérer la récurrence du calcul des ordonnées.
Puisqu'on veut trouver une abscisse (temps) à laquelle l'ordonnée (température) dépasse 50°C, il faut tester la température et quitter la boucle au seuil.
Je remplacerai le For par un While pour gérer ce test et le reste des fonctionnalités du For sera réalisée manellement.
Ci-dessous calcul d'euler et recherche du seuil de température donné 50°C.
| Code | Input "DEBUT=",A
Input "F(DEBUT)=",B
Input "PAS=",H
// pas de borne de fin de temps pour chercher avec la température
B->Y
A->X
// pt-On(X,Y
While Y>50
X+H->X
Y(1-H/2)+10H->Y
// pt-On(X,Y
End
// je suppose que ce sont des heures d'après m@thieu41
int(X->H
60fPart(X->M
Disp X,H,M // temps, puis les heures et les minutes |
Je ne sais toujours pas quelle est la température initiale pour appliquer.
Et puis je me demande quelle unité de temps est utilisée dans cette équation, donc je ne sais pas s'il y a des adaptations supplémentaires à faire.
###############################
Si ce n'est pas la méthode d'Euler qui est attendue, alors je pense que l'algorithme demandé est la dichotomie pour résoudre l'équation.
Il se trouve d'ailleurs que la fonction solve effectue une dichotomie sans nous le dire.
https://tout82.pages-perso.free.fr/forum/sujet.php?message=49636#49636
https://espace-ti.forumactif.com/t630-82-solveur
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
mathou
Invité
|
Posté le : Jeu 28 Nov 2013, 20:14
|
|
|
Bonjour, que représente les variables A, B et H ?
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Jeu 28 Nov 2013, 23:53
|
|
|
A= abscisse de début. Toi tu utiliseras probablement le temps 0.
B=ordonnée initiale : la température initiale, probablement 0°C à temps=0.
H= le pas de calcul : plus il est petit et plus le calcul est long mais précis.
Les textes des input que j'ai ajouté et mon précédent message, cela sert à quoi si ce n'est pas pour te le dire ?
Il manque toujours des informations pour répondre correctement. On t'a posé explicitement certaines d'entre elles. Et il y en a quelques unes de plus je crois.
-unité de temps
-unité de température dans l'équation
-température initiale
-l'approximation d'Euler est-elle abordée dans tes cours ?
-la solution de l'équation différentielle est-elle censée servir ou pas dans la recherche ? Est-elle seulement donnée ou bien déterminée au cours de l'exercice ?
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
mathou
Invité
|
Posté le : Ven 29 Nov 2013, 19:27
|
|
|
"l'approximation d'Euler est-elle abordée dans tes cours ?" Non pas encore
|
| |
|
| |
m@thieu41
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Ven 29 Nov 2013, 19:43
|
|
|
Il faudrait que tu répondes à toutes les questions, pas à une seule 
HS: Qu'est-il arrivé à ton avatar Linka? 
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne  |
 |
|
| |
mathou
Invité
|
Posté le : Ven 29 Nov 2013, 19:56
|
|
|
Je vois pas ce que vous me demandez, le programmme d'Euler je l'ai jamais vu.
On peux aller d'étape en étape ? svp 
|
| |
|
| |
m@thieu41
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Ven 29 Nov 2013, 20:11
|
|
|
| Citer : linkakro | -unité de temps
-unité de température dans l'équation
-température initiale |
Réponds déjà à ces questions 
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne  |
 |
|
| |
mathou
Invité
|
Posté le : Ven 29 Nov 2013, 20:22
|
|
|
-unité de temps : heures
-unité de température dans l'équation: Celsius
-température initiale : On nous le donne pas mais on veux savoir dans l'algorithme à quelle heure la température atteindra 50°C.
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 29 Nov 2013, 23:12
|
|
|
Je me suis trompé dans le sens de l'inégalité. Je n'avais pas pensé que l'exercice parle de refroidissement. Je corrige.
Je déduis grâce à la correction donnée que f(0)=220.
La méthode d'euler, comme j'ai déjà expliqué, consiste à calculer une valeur approchée de l'ordonnée d'un point en connaissant la fonction dérivée et un point très proche.
En effet l'approximation affine, dit que f(x2) est pratiquement égal à f'(x1)*(x2-x1)+f(x1) si x1 et x2 sont très proches.
Connaissant un point (x1;f(x1)) on calcule de proche en proche (x2;f(x2)), (x3;f(x3)) et ainsi de suite.
Dans le cas particulier des équations différentielles du premier ordre f'(X)=a*f(X)+b pour tout X, on peut substituer cette équation différentielle à l'intérieur de la formule de l'approximation affine.
f(x2)~~f'(x1)*(x2-x1)+f(x1)
On calcule tout de proche en proche ; comme une suite.
Mon premier programme calcule la courbe entre les abscisse A et F, avec l'ordonnée B=f(A) au début et avec chaque abscisse écartée de H.
Mon second programme fait de même en utilisant pour unique critère d'arrêt la température afin de résoudre le problème.
A chaque exécution de boucle est effectué un calcul de nouveau point.
La boucle s'arrête quand X ou Y atteint le seuil fixé.
La fonction pt-On doit dessiner la courbe. Mais si tu n'as pas réglé la fenêtre graphique, tu ne vois rien.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
mathou
Invité
|
Posté le : Sam 30 Nov 2013, 8:45
|
|
|
Je dois taper quel programme sur ma calculette ? 
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Sam 30 Nov 2013, 10:40
|
|
|
Celui qui cherche un seuil Y=50 pardi. Mon deuxième programme.
Je te signales quand même qui si l'expression de la solution de l'équation différentielle n'a pas été donnée par l'exercice ni trouvée par réponse à l'exercice, alors la méthode d'Euler n'a pas d'intérêt et on ne sait toujours pas ce que tu étais supposé faire.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
mathou
Invité
|
Posté le : Sam 30 Nov 2013, 11:32
|
|
|
En faite on nous demande,de faire un algorithme de dichotomie pour déterminer une valeur approchée, en heures et minutes, du moment où la température
de l’objet est 50 C.
J'ai taper le programme il marche pas.
|
| |
|
| |
m@thieu41
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Sam 30 Nov 2013, 12:12
|
|
|
Qu'entends tu par "il ne marche pas"? il ne donne pas la valeur? Il y a une erreur? Si oui laquelle?
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne  |
 |
|
| |
mathou
Invité
|
Posté le : Sam 30 Nov 2013, 12:19
|
|
|
Pour A j'ai mis 0, B j'ai mis 0 et H j'ai mis 0,01 ça me donne X=0 et H=0
Voici le programme que j'ai tapé :
| Code |
Input A
Input B
Input H
B -> Y
A -> X
While Y>50
X+H -> X
Y((1-H)/2)+10H -> Y
End
Disp X
Disp H
|
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Sam 30 Nov 2013, 13:28
|
|
|
Deux problèmes :
-le calcul que tu as saisis a trop de parenthèses. Ecris bien Y(1-H/2)+10H.
-la variable H était utilisée dans deux cas différents (j'ai peut-être eu tort) et tu as confondu. Dans la boucle, H est le pas. Après la boucle le calcul des heures et minutes séparés modifie H pour qu'il contienne les heures entières. Donc soit tu effectues ce calcul, soit tu n'affiches pas H. Et si tu veux tu peux changer le nom de H au début et dans la boucle et garder H pour les heures.
Si tu n'affiches pas de commentaire à la saisie, alors tu peux simplement utiliser Prompt.
| Code | Prompt A,B,P
B -> Y
A -> X
While Y>50
X+P -> X
Y(1-P/2)+10P -> Y
End
int(X->H
60fPart(X->M
Disp X,H,M |
#######################
Puisque tu affirmes maintenant être censé programmer une dichotomie, et que les liens que j'ai déjà donné ne contiennent pas de code, seulement un téléchargement, je réalise ça ici.
J'applique directement à la fonction pour ne pas t'embrouiller.
| Code | "20+200e^(-X/2->Y1 //Y1 est la variable d'équation de courbe, X l'abscisse
Prompt A,B // bornes gauche et droite pour X
Prompt F // précision attendue pour X
Prompt S // seuil d'ordonée
If Y1(A)>Y1(B
Then
A->D
B->C
Else
A->C
B->D
End
While F<abs(D-C
.5(C+D->E
If Y1(E)>S
Then
E->D
Else
E->C
End
End
Disp C,D |
La boucle est classique : elle change les bornes en fonction du signe de la comparaison au milieu de l'intervalle. Et elle le fait jusqu'à ce que la précision soit dépassée.
Le début doit permettre de supporter les fonctions aussi bien croissantes que décroissantes, et aussi une interversions des bornes.
---EDIT :
Correction du abs() manquant.
Remplacement du seuil 50 par S, pour faciliter de nouvelles applications.
J'avais au début écrit "xor A>B" dans le condition du début "If Y1(A)>Y1(B)", mais l'expérience prouve que cela ne fonctionne pas, et la théorie plus poussée prouve que c'est simplement inutile.
xor se traduit par OuExcl. Le ou exclusif valide une des deux conditions mais pas les deux simultanément.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
mathou
Invité
|
Posté le : Sam 30 Nov 2013, 13:47
|
|
|
Le programme m'affiche C=50 et D=50,006.... mais pas le temps que ça fait
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Sam 30 Nov 2013, 19:56
|
|
|
Parles-tu bien de la dichotomie ?
Il est possible que tu n'ais pas saisi des bornes initiales adéquates, ce que le programme ne vérifie pas. Je m'apprête à le tester pour être sûr.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
mathou
Invité
|
Posté le : Sam 30 Nov 2013, 20:01
|
|
|
Oui c'est bien ça dichotomie.
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Sam 30 Nov 2013, 23:46
|
|
|
Je viens de corriger le test d'entrée du While dans lequel je n'avais pas mis de valeur absolue.
Je t'invite vraiment à poser des questions si tu n'as pas compris quelque chose, car je ne sais pas quoi dire à propos de la dichotomie, et que tu dois progresser.
Et pense bien sûr à entrer des bornes autour d'une solution.
Mon programme ne gère pas sinon, contrairement à la fonction Solve.
EDIT : je veux dire "entrer des bornes autour d'une solution X à approcher"
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
mathou
Invité
|
Posté le : Dim 01 Déc 2013, 1:06
|
|
|
Je ne vois pas quelles bornes prendre ici.
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 01 Déc 2013, 10:24
|
|
|
N'importe quoi autour de la solution X. C'est le principe même de la dichotomie.
Si tu n'avais aucune idée de la solution, il t'aurait fallut étudier l'allure théoriquement et tester quelques valeurs au hasard.
Mais ici tu sais que la solution est autour de 3. Donc A=0 et B=9 ou encore A=2 et B=4 feront très bien l'affaire. Quant à la précision F, 0.001 convient bien. Et le seuil d'ordonnée que j'ai ajouté hier est 50 pour ton problème.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
mathou
Invité
|
Posté le : Dim 01 Déc 2013, 10:27
|
|
|
Pour A=2 et B=4 et P=0,001 et S=50, je trouve C=3,99902438 et D=4 alors que par calcule je rouve 3,75 environ
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 01 Déc 2013, 10:58
|
|
|
f(X)=50=20+200exp(-X/2)
X=-2*ln((50-20)/200)
Windows calcule 3,79423996977176260407995667844
La TI affiche avec ses 10 chiffres : 3.794239970
Avec mon programme de dichotomie :
A=2, B=4, F=.001, S=50, ::: C=3.794921875 D=3.793945313
soit 3.793945313=D<X<C=3.794921875
C'est parfaitement cohérent.
Tu as commis quelque erreur, peut-être liée au fait que j'ai modifié plusieurs choses.
Et surtout partout où j'ai écrit Y1, c'est la variable accessible par var+droite+1+1.
Sur ti82 non-stat c'est 2nde+var+1+1.
---
Et puis je signale qu'on peut approcher une solution avec la table de valeurs, en plaçant le début de la table juste avant puis en diminuant le pas de la table d'une décade puis en recommençant.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
mathou
Invité
|
Posté le : Dim 01 Déc 2013, 11:21
|
|
|
Ah c'est bon j'ai trouvé mon erreur merci je trouve comme toi
|
| |
|
| |