Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#2 05-12-2009 10:12:13
- Fred
- Administrateur
- Inscription : 26-09-2005
- Messages : 7 352
Re : Bonjour
Bonjour,
C'est une équation pour laquelle tu ne pourras pas trouver de solution exacte par des formules usuelles (comme x=ln(3)/exp(7) par exemple...)
Tu ne peux en trouver que des valeurs approchées, ce qui j'imagine est suffisant pour toi.
Fred.
Hors ligne
#4 05-12-2009 19:16:55
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 401
Re : Bonjour
Bonsoir,
Ce que je vais faire avec un tableur, peut se faire avec une calculette.
1. D'abord tu prends ta calculette, tu tapes l'équation de la courbe suivante :
[tex]y=1-e^{-x}-{x \over 3}[/tex]
Et je cherche l'abscisse du point d'intersection avec l'axe des abscisses.
2. Tu constates que 2,8 < x < 2,9
3. A partir de là tu ouvres ton tableur
(Pense à vérifier si les résultats vont s'afficher avec 5 ou chiffres après la virgile)
a) Dans la cellule A1 tu écris = 2,8
b) Dans la cellule A2 tu écris = A1+0,01
c) Tu sélectionnes la cellule A2 et tu étends ta sélection jusqu'à A11
d) Dans le menu Edition tu cliques sur Remplir bas si c'est le tableur d'OpenOffice, Recopier vers le Bas dans le cas d'Excel. Si tu ne trouves pas, tu changes les valeurs par pas de 0,01 de 2,81 à 2,90.
e) Dans la cellule B1 tu tapes = 1- EXP(A1) -A1/3
f) Tu sélectionnes ta cellule et tu étends ta sélection jusqu'à B11. Sinon à la main, en B2 tu tapes = = 1- EXP(A2) -A2/3, en B3 : = 1- EXP(A3) - A3/3... etc...
g) Tu remplis ou recopies vers le bas
Tu constates que 2,82 < x < 2,83
Alors tu peux tout recommencer de 2,82 à 2,83 par pas de 0,001...
---------------------------------------------------
Autre méthode
Avec le langage de programmation Python, ça peut se faire dans la console IDLE :
>>> x1,y1=2.8,0.2
>>> for i in xrange(100000):
x=2.8+i/10000.0
y=1-exp(-x)-x/3.0
if y1>= 0 and y <=0:
print x1,"< x <",x
break
else:
x1,y1=x,y
Le résultat qui s'affiche est : 2.8214 < x < 2.8215
Tu peux aussi programmer ta calculette, donc...
@+
PS Avec ta calculette graphique tu peux tout aussi bien zoomer sur la zone et déplacer ton curseur sur la courbe et lire une bonne approximation...
Hors ligne
#7 05-12-2009 23:35:42
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Bonjour
Hors ligne
#8 06-12-2009 10:05:37
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 401
Re : Bonjour
Re,
Je me doutais qu'un truc comme ça devait exister. Mais je ne connaissais pas et n'ai pas eu l'envie d'approfondir.
Je vois ça de plus près...
@+
[EDIT]
Veni, vidi, vici...
[tex]1-e^{-x}={x\over 3}\Leftrightarrow (x-3)e^x+3=0[/tex]
Je pose :
[tex]f(x)= (x-3)e^x+3=0[/tex]
J'en déduis :
[tex]f'(x) =(x-2)e^x[/tex]
Je prends alors la suite :
[tex]x_{n+1}=x_n-\frac{f(x)}{f'(x)}[/tex]
En Python :
# -*- coding: cp1252 -*-
from math import exp
x=2.5 # Valeur de départ médiane, la soltion appartenant à ]2 ; 3[
n = 10 # Nombre d'itérations
for i in range(n):
x=x-((x-3)*exp(x)+3)/((x-2)*exp(x)) # x_n = x_(n-1) - f(x)/f'(x) formule de Newton
print "Après",n,"itérations, x =", x
Résultat :
Après 10 itérations, x = 2.82143937212
(20 itérations ne changent pas ce résultat)
C'est tout aussi simple avec un tableur...
Merci freddy...
Dernière modification par yoshi (06-12-2009 10:45:19)
Hors ligne
#9 06-12-2009 11:23:59
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Bonjour
Ce fut un plaisir ...
Souviens toi, Yoshi, on avait aidé une jeune fille à résoudre un pb qui était exactement l'application de cette méthode pour trouver la racine carrée de 2.
Cette méthode est aussi implémentée dans la HP15C et la fonction "valeur cible" d'Excel.
Une bonne journée.
Hors ligne
Pages : 1







