Algorithme de dichotomie
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 06:31
Bonjour
j'ai besoin de votre aide sur des exos d'algorithme de dichotomie.
Je n'y comprends rien du tout.
On considère la fonction f définie sur [-2;3] par : f(x) = x^3+2x-2
Variables
a,b : nombres réels
f: fonction
k : entier naturel
N : entier naturel
m : nombre réel
Entrée
Saisir a,b,f,N
Traitement
Pour K variant de 1 à N
m prend la valeur a+b/2
si f(m) et f(a) sont de même signe alors
a prend la valeur m
sinon
b prend la valeur m
Fin pour
Sortie
Afficher a,b
1/ Traduire cet algo dans le language de programmation de votre calculatrice TI 82
J'ai trouvé des exemples mais pas par rapport à cet algo précis
2/ Tester ce programme pour N= 4 puis 10,15 et 25
Que constatez vous?
Merci pour votre aide
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 03 Déc 2015, 08:48
Bonjour,
Est-ce que tu sais récupérer des valeurs saisies par l'utilisateur ?
Est-ce que tu sais écrire une boucle for et une condition if / else sur ta TI ?
Sans ces notions, tu risque d'avoir un peu de mal à traduire l'algo.
Regarde ici si tu ne sais pas :
http://www.maxicours.com/se/fiche/4/7/420974.html/tes
-
mathelot
par mathelot » 03 Déc 2015, 09:12
INPUT a
INPUT b
WHILE abs(a-b)> 0.001
(a+b)/2
STO m
IF f(a)*f(m) > 0
m
STO a
ELSEm
STO b
ENDIFENDWHILEDISP "a=",a
DISP "b=",b
à tester avec
=x^3+2x-2)
-
titine
- Habitué(e)
- Messages: 5574
- Enregistré le: 01 Mai 2006, 13:59
-
par titine » 03 Déc 2015, 09:25
mathelot a écrit:INPUT a
INPUT b
WHILE abs(a-b)> 0.001
(a+b)/2
STO m
IF f(a)f(m) > 0
m
STO a
ELSEm
STO b
ENDIFENDWHILEDISP "a=",a
DISP "b=",b
à tester avec
=x^3+2x-2)
Bonjour.
1) donner le programme comme ça n'a pas beaucoup d'intérêt. Il vaudrait mieux que chimene se familiarise elle même avec sa calculatrice.
2) le programme que tu donnes ne code pas l'algorithme donné. (Pas de test sur la différence a-b)
-
mathelot
par mathelot » 03 Déc 2015, 09:43
la boucle du programme est à réécrire et le code ci-dessus lui donne des exemples de syntaxe.
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 16:54
bonsoir à vous
je n'ai jamais fait d'algorihtme avec ma calculatrice
-
WillyCagnes
- Membre Transcendant
- Messages: 3753
- Enregistré le: 21 Sep 2013, 19:58
-
par WillyCagnes » 03 Déc 2015, 17:06
mathelot a écrit:la boucle du programme est à réécrire et le code ci-dessus lui donne des exemples de syntaxe.
bjr ,
tu as mis ce code que je ne comprends pas
IF f(a)f(m) > 0
plutôt ceci?
IF f(a)*f(m) > 0
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 17:16
Sur ma calculatrice j'ai juste rentré la fonction
Y1 = X^3+2x-2
et après je ne comprends rien
tester le prog pour N=4, 10, 15 et 20
Je ne sais pas faire le prog sur la calculatrice et ou indiquer N
merci je suis perdu
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 17:35
j'essaie par rapport à ce que vous avez indiqué mais je n'y arrive pas du tout
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 18:51
pouvez vous m'aider s'il vous plait
-
chaa13
- Membre Rationnel
- Messages: 622
- Enregistré le: 25 Mar 2012, 19:52
-
par chaa13 » 03 Déc 2015, 20:48
Salut,
Déjà l'important c'est de bien saisir la méthode de la dichotomie. Donc ici on cherche une approximation de la solution de :
f(x) = 0.
Est-ce que tu as bien compris lalgorithme en langage naturel?
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 20:51
non je sais juste que
f(x)=0
[0,1]
-
chaa13
- Membre Rationnel
- Messages: 622
- Enregistré le: 25 Mar 2012, 19:52
-
par chaa13 » 03 Déc 2015, 21:08
Okay.
Si tu trace ta courbe f tel que f(x) = x^3+2x-2, tu vois que ta courbe coupe l'axe des abscisse pour un x entre -2 et 2
Tu cherche la racine de ce polynôme (Donc tu cherche x tel que f(x) = 0)
Le truc c'est que tu ne sais pas résoudre une équation du type x^3+2x-2=0.
La dichotomie te permet de donner une approximation de la solution de cette équation.
Bon en regardant le tracé de la courbe tu vois que la solution se trouve entre -2 et 2.
Mais bon l'intervalle [-2;2] est gros, on va essayer de le réduire.
tu remarque que f(-2)<0 et f(2)>0. Donc f(-2) est en dessous de l'axe des abscisse et f(2) est au dessus. Donc forcement la courbe va couper l'axe des abscisse pour un x entre -2 et 2.
Ensuite tu remarque que f(0)<0 et f(2)>0. Maintenant tu sais que la solution se trouve entre 0 et 2 puisque entre 0 et 2 la courbe passe de négatif au positif, forcement a un moment elle va couper l'axe des abscisse ^^
Tu calcul f(1) et f(2). Tu remarque alors que f(1)>0 et f(2) >0. Mais alors, si les deux valeurs son supérieur a 0, ça veut dire que la courbe est au dessus de l'axe des abscisse pour x entre 1 et 2 ! Du coup ta solution est avant 1.
Tu affine encore, tu sais que la solution se trouve entre f(0) et f(1) (Puisque f(0)<0 et f(1)>0). Et ainsi de suite, plus tu fera ça plus tu aura une approximation correcte.
Prend un papier et un crayon, trace ta courbe et essaye.
Dis moi si je ne suis pas clair ;)
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 21:15
Non je ne comprend pas bien. J'ai besoin de faire cela pour répondre aux questions ci-dessous?
Ca me fait peur alors là je suis perdu
On considère la fonction f définie sur [-2;3] par : f(x) = x^3+2x-2
Variables
a,b : nombres réels
f: fonction
k : entier naturel
N : entier naturel
m : nombre réel
Entrée
Saisir a,b,f,N
Traitement
Pour K variant de 1 à N
m prend la valeur a+b/2
si f(m) et f(a) sont de même signe alors
a prend la valeur m
sinon
b prend la valeur m
Fin pour
Sortie
Afficher a,b
1/ Traduire cet algo dans le language de programmation de votre calculatrice TI 82
J'ai trouvé des exemples mais pas par rapport à cet algo précis
2/ Tester ce programme pour N= 4 puis 10,15 et 25
Que constatez vous?
-
chaa13
- Membre Rationnel
- Messages: 622
- Enregistré le: 25 Mar 2012, 19:52
-
par chaa13 » 03 Déc 2015, 21:18
Dans l'absolue non. Tu pourrais le traduire sans rien comprendre, mais ce ne serais pas très utile ^^
Relis mon message d'avant, dessine grossièrement ta courbe et essaye ! Dis moi où tu bloque sur la compréhension du dernier message.
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 21:48
oui j'ai fait une courbe
et d'après cette courbe
f(x) = o n'a qu'une seule solution
[0;1]
-
chaa13
- Membre Rationnel
- Messages: 622
- Enregistré le: 25 Mar 2012, 19:52
-
par chaa13 » 03 Déc 2015, 22:19
f(x) = 0
La solution se trouve entre 0 et 1.
Bon maintenant, en relisant mon message et l'algorithme en langage naturel, essaye d'affiner cette intervalle (rends le plus petit) ! N'essaye pas de programmer quelque chose pour l'instant fait le seulement avec un peu de calcul.
-
Mc1245
- Messages: 3
- Enregistré le: 03 Déc 2015, 22:15
-
par Mc1245 » 03 Déc 2015, 22:26
Bonjour tous le monde, je viens juste de m'inscrire je voudrais poster une question mais je ne trouve pas l'onglet "nouvelle question". Merci d'avance.
-
chimene
- Membre Relatif
- Messages: 196
- Enregistré le: 14 Sep 2014, 06:23
-
par chimene » 03 Déc 2015, 22:40
Je ne comprends pas comment faire
-
chaa13
- Membre Rationnel
- Messages: 622
- Enregistré le: 25 Mar 2012, 19:52
-
par chaa13 » 03 Déc 2015, 22:53
On va faire par étapes et avec un exemple.
Soit f définie par f(x) = x^2-1 sur [0;5]
On veut approximer la solution de f(x)=0 (Imaginons qu'on ne sache pas résoudre)
Sur la graphique, on voit que la fonction coupe bien l'axe des abscisse quelque part entre 0 et 3.
Mais on voudrait savoir plus précisément où est ce que cette courbe touche l'axe des abscisse.
f(0) = -1 et f(3) = 8
Est-tu bien d'accord que la courbe coupe forcement l'axe des abscisse quelque part entre 0 et 3 puisque a f(0) elle est négative et a f(3) elle est positive? La fonction étant continu, pour passer des négatifs au positifs elle doit forcement passer par l'axe des abscisse. Puisque au dessus de l'axe des abscisse tu as les positifs et en dessous les négatif.
Maintenant on affine.
f(1.5) = 1.25 et f(3) = 8
La courbe est au dessus de l'axe des abscisse entre 1.5 et 3. On est partit trop loin.
Par contre maintenant qu'on sait que f(1.5) est positif et que f(0) est négatif (calcul précédent) on peut dire que la solution se trouve entre 0 et 1.5 puisque elle est sous l'axe des abscisse pour x = 0 et au dessus pour x = 1.5.
Déjà on a fait un grand pas, on est partit de : "La solution doit se trouver entre 0 et 3 a vu de nez" a "La solution est entre 0 et 1.5" !
Dis moi ce qui te gène dans ce que je viens d'écrire ;)
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 103 invités