Page 1 of 2

programmes pour approximer les zeros d'une fonction

Unread postPosted: 14 Jun 2010, 11:47
by skaya
Bonjour
je reviens une nouvelle fois vers vous car j'ai quelques petits soucis..depuis hier je travaille sur le leçon N°79 pour le CAPES, méthodes d'approximation des zéros d'une fonction, et on doit se servir de la calculatrice .. j'ai trouvé un site, qui m'a bcp servi pour toutes mes leçons, qui propose 4 programmes et donc 4 méthodes : dichotomie, lagrange, newton et ajustement linéaire
je vous donne le site http://www.capes-de-maths.com/lecons/lecon79.pdf, les programmes sont pages 7 et 8 ..
bon dans un premier temps j'ai essayé de les comprendre et je crois que ça va à peu près sauf quelques petites trucs mais mon soucis c'est qu'avec ma calculette, ça marche pas du tout ..
Ils testent leur programme avec la fonction exp(x-3)-4 sur [1;5] à 10^-5 près, et moi quand je teste avec cette fonction, ça me donne x=3 et 0 étapes pour la dichotomie, donc l'incrémentation des étapes ne se fait pas, et j'ai pas d'arrondi à 10^-5 près ..j'ai x=1 pour la méthode de lagrange donc là ça déconne carrément, et x=5 pour newton avec un nombre d'étapes =-1 ce qui est encore plus faux ..

bref je suis pas assez calée pour avoir la moindre idée d'où vient le soucis ..je suppose que les programmes proposés sur le site sont justes, alors je vois pas ce qui bloque
merci d'avance si vous avez des pistes de ce qui peut foirer ..

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 14 Jun 2010, 12:10
by Bisam
Une explication plausible est que "x" possède une valeur dans ta calculatrice... et que cette valeur soit justement 3+ln(4)....
Il te suffit donc d'effacer la valeur de "x" dans ce cas.

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 14 Jun 2010, 12:14
by skaya
c'est dans "var Link" qu'on le voit ça c'est bien ça ? j'ai pas de x à priori mais je sais qu'effectivement j'ai fait des manip auparavant où je rentrais des valeurs dans x

en fait dans var link j'ai mes programmes et plein de "variables" du style xa,xm,n,p,q,.. et à côté y'a écrit EXPR suivi d'un chiffre, c'est quoi exactement ? je peux l'effacer tout ça ?

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 14 Jun 2010, 12:27
by Loulou 54
Ce sont des expressions, le chiffre à côté est leur place en mémoire. Oui tu peux les effacer, ils sont sûrement créés par les programmes.

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 14 Jun 2010, 18:59
by skaya
bon j'ai tout effacé et à priori il n'y a plus rien de stocké dans "x" mais ça marche pas quand même

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 14 Jun 2010, 19:57
by tama
Le programme c'est exactement le même que celui dans le lien du premier post ? essaies de lancer "NewProb" dans l'écran Home puis réessaies.

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 14 Jun 2010, 20:10
by skaya
oui c'est le même j'ai relu des dizaines de fois ou alors je perds la boule..
je viens de faire ça et ça donne toujours pareil .. une solution exacte et pas arrondie, et le nombre d'étapes qui reste à 0

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 14 Jun 2010, 21:15
by Bisam
Tu n'aurais pas mis
Code: Select all
ki
au lieu de
Code: Select all
ki
?

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 15 Jun 2010, 18:18
by skaya
non j'ai bien mis
Code: Select all
 ki

je vais essayer de taper le programme sur mon autre calculatrice voir si c'est ma calculette qui foire car elle a enregistré des valeurs ou si ça vient du programme

par contre dans le programme dichotomie la ligne
Code: Select all
int(ln((b-a)/p)/(ln2))-i

ça sert à quoi ? j'ai du mal à voir ce que c'est "i"

Re: programmes pour approximer les zeros d'une fonction

Unread postPosted: 15 Jun 2010, 19:55
by Bisam
C'est une condition d'arrêt.
Cette ligne permet de calculer à l'avance le nombre d'étapes nécessaires... mais en fait l'autre condition d'arrêt (à savoir b-a=p) est suffisante.

Tu peux enlever la ligne que tu as citée et la condition "and k