Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 06-01-2023 14:01:40
- A Ratomahenina
- Invité
Une approximation sur 12 chiffres du nombre de Euler
Bonjour.
Voici le calcul :
(( 2 + ( √3 -1 )E-4 ) / ( √( ( 4/9 ) √3 )))) + (( √((4/9) √3 )) / ( 2 + (√3/2)E-8 )) = 2.71821828455
Et e = 2.71821828459
Qu'en pensez-vous ?
#2 06-01-2023 18:12:48
- Matou
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour,
Pourquoi tu ne cherches pas une approximation avec la somme des inverses des factorielles ?
C'est rapide, ça converge bien et tu as facilement une kyrielle de décimales.
Cordialement
Matou
#3 06-01-2023 20:23:51
- Mazer666
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Il semble que le résultat de votre calcul soit très proche de la valeur de la constante mathématique "e". La valeur de "e" est une valeur approchée de l'exponentielle de 1, et elle est environ égale à 2.71828. Votre résultat, 2.71821828455, est très proche de cette valeur.
Il est possible que vous ayez commis une erreur de calcul ou que vous ayez utilisé une valeur approchée de "e" pour effectuer votre calcul. En tout cas, votre résultat est très proche de la valeur réelle de "e", ce qui montre que votre calcul est correct à une très bonne approximation.
#4 06-01-2023 21:42:34
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 158
Re : Une approximation sur 12 chiffres du nombre de Euler
Re,
$e=\lim\limits \sum\limits_{n=0}^{\infty} \frac{1}{n!}$
Avec Python , sans utiliser les fonctions existantes, avec un codage basique, j'ai écrit :
from math import exp
def fac(n):
fc=1
for i in range(1,n+1):
fc*=i
return fc
e=1
for n in range(1,21):
e+=1/fac(n)
print("e =",e)
print("En Python nativement on a exp(1) =",exp(1))
Sortie :
e = 2.7182818284590455
En Python, nativement, on a exp(1) = 2.718281828459045
Si maintenant, je passe par le module decimal, que je demande une précision de 102 chiffres :
from decimal import Decimal as D, getcontext
fin=102
getcontext().prec=102
def fac(fin):
fc=1
for i in range(1,fin+1):
fc*=i
return fc
e_dec=D(1)
for n in range(1,fin+1):
e_dec+=D(1)/D(fac(n))
print ("Avec Le module decimal, on a :")
print("e_dec =", e_dec)
print()
print ("Wolfram Mathematica donne :")
print ("e = 2.718281828459045235360287471352662497757")
print ()
print ("En limitant à 100 les décimales de Maths et tiques :")
print ('e = 2,7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274"
N-B : la fonction factorial existe maintenant nativement en Python.
Sortie :
Avec Le module decimal, on a :
e_dec = 2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642741Wolfram Mathematica donne :
e = 2.718281828459045235360287471352662497757En limitant à 100 les décimales de Maths et tiques :
e = 2,7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#5 06-01-2023 22:20:16
- Gui82
- Membre
- Inscription : 03-08-2022
- Messages : 125
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour Yoshi,
Juste une précision pour ceux qui nous lisent : [tex]\displaystyle e=\sum_{n=0}^{+\infty}\frac{1}{n!}[/tex] ou alors la limite des sommes partielles : [tex]\displaystyle e=\lim_{n\to +\infty}\sum_{k=0}^{n}\frac{1}{k!}[/tex]
Hors ligne
#6 06-01-2023 22:58:57
- Glozi
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonsoir,
Autre précision par rapport au code de Yoshi, pour avoir un code un peu plus optimal il faudrait éviter de calculer $n!$ pour tout $n$ entre $1$ et $N$ en repartant de zéro à chaque fois. En effet, cela coute $n$ multiplications pour calculer $n!$ et donc au total le programme a une complexité en $O(N^2)$.
Une manière de résoudre le "problème" serait la suivante :
from math import exp
N=20 #la somme partielle ira jusqu'au rang N
e=1
fc=1
for n in range(1,N+1):
fc*= n # à l'étape n, fc vaut n!
e+=1/fc
print("e =",e)
print("En Python nativement on a exp(1) =",exp(1))
Ce qui donne un temps d’exécution en $O(N)$.
Bonne journée
#7 07-01-2023 20:05:58
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 158
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonsoir,
@Glozi : dans le 1000, bravo ! Merci pour cet utile rappel à la vigilance. Ex kendoka, J'ai oublié le zanshin de rigueur, ce n'est pas bien :-((
Je n'ai pas réfléchi : basique n'a pas pour corollaire calculs inutiles...
Version remaniée (sans la fonction fac(n) inutile) :
from math import exp
from decimal import Decimal as D, getcontext
getcontext().prec=101
e_dec=D(1)
fc=1
for n in range(1,101):
fc*=n
e_dec+=D(1)/D(fc)
print ("En Python, nativement, on a 16 décimales :")
print("exp(1) =", exp(1))
print()
print ("Euler avait calculé les 23 premières décimales :")
print("e = 2,71828182845904523536028")
print()
print ("Wolfram Mathematica donne 39 décimales :")
print ("e = 2.718281828459045235360287471352662497757")
print ()
print ("Les 100 décimales données sur Maths et tiques sont :")
print("e = 2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274)
print()
print ("Les 100 décimales obtenues via le module decimal sont :")
print("e_dec =", e_dec)
print()
Sortie :
En Python, nativement, on a 16 décimales :
exp(1) = 2.718281828459045Euler avait calculé les 23 premières décimales :
e = 2,71828182845904523536028Wolfram Mathematica donne 39 décimales :
e = 2.718281828459045235360287471352662497757Les 100 décimales données sur Maths et tiques sont :
e = 2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274Les 100 décimales obtenues via le du module decimal sont :
e_dec = 2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#8 07-01-2023 20:33:21
- Zebulor
- Membre expert
- Inscription : 21-10-2018
- Messages : 2 153
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonsoir,
j'ai remarqué que cette question du temps d'exécution fait parfois l'objet de questions QCM dans certains concours ...
En matière d'intégrales impropres les intégrales les plus sales sont les plus instructives.
Hors ligne
#9 08-01-2023 12:48:44
- A Ratomahenina
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour
Oui on arrive à la valeur exacte du nombre e en calculant la somme des inversés des factorielles mais ce n'est pas le but. Mon calcul consiste en une sorte de rationalisation du nombre e qui sait peut-être qu'avec un certain calcul et des valeurs remarquables on tombe sur le nombre e et ce serait là une grande chance. Pour ma part je ne dispose que d'une calculatrice à 10 chiffres .....
#11 08-01-2023 18:53:38
- Matou
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour,
Mon calcul consiste en une sorte de rationalisation du nombre e qui sait peut-être qu'avec un certain calcul et des valeurs remarquables on tombe sur le nombre e et ce serait là une grande chance.
Euh, $e$ est transcendant, non ?
Cordialement
Matou
#12 12-01-2023 16:46:53
- A Ratomahenina
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour
Je vais vous expliquer comment j'ai fait .
Pour ce calcul j'ai utilisé la formule de Héron que j'ai adapté tel que :
( 4 / ( 2 x )) + ( x / 2 ) = e
Ce qui donne :
( 2 / x ) + ( x / 2 ) = e
Ce qui donne 2 solutions x' et x'' tel que :
x'' × x'' = 4 et x'' + x'' = 2e
√(( 4/9 ) √3 ) est une approximation de x'' et la formule donne e ~ 2.71819.....
Le calculateur donne la valeur du numérateur de la première fraction : 2.000073203 ce qui ressemble à √3-1 E-4 . L'approximation donne alors :
2.71828183
Pour le diviseur de la deuxième fraction j'ai dû y aller au jugé ( √3/2 )E-8 . Le calcul de e donne :
2.7182818284551
#13 16-01-2023 16:10:10
- A Ratomahenina
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour
Alors , qu'en pensez-vous ?
#14 20-01-2023 15:55:23
- A Ratomahenina
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour
Il est à noter qu'en soustrayant l'inverse d'un nombre à 3 chiffres au dénominateur de la deuxième fraction ceci donne :
( 2 + (( √3/2 ) - 573^-1 )E-8 )
e donne alors : 2.718281825490
#15 26-01-2023 14:38:28
- A Ratomahenina
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour
Voici un autre calcul qui donne les mêmes résultats que le premier :
((3+√2E-3)/(√(6^-1(2+3^-1))))+((√(6^-1(2+3^-1))/(2+((1+34^-1)/2)E-4+12^2E-11)) = 2.718281828456
#16 27-01-2023 14:05:27
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 158
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour,
Il va peut-être falloir modifier le titre de ton sujet... ^_^
Ton résultat et en-dessous, 20 décimales exactes :
2.718281828456
2,71828182845904523536028
Ta douzième décimale est fausse...
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#17 27-01-2023 14:35:06
- A Ratomahenina
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour
Il y a une erreur dans le diviseur de la première fraction : il faut le multiplier par 2 avec toutes mes excuses ....
#18 29-01-2023 14:39:56
- A Ratomahenina
- Invité
Re : Une approximation sur 12 chiffres du nombre de Euler
Bonjour
Voici une variante du premier calcul qui donne e avec 13 décimales donc sur 14 chiffres au total :
((3+√2E-3-1E-5-82E-10)/2(√(6^-1(2+3^-1))))+((√(6^-1(2+3^-1)))/(2-56E-12)) = 2.7182818284590