Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#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 129

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.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642741

Wolfram Mathematica donne :
e = 2.718281828459045235360287471352662497757

En 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 129

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.718281828459045

Euler avait calculé les 23 premières décimales :
e = 2,71828182845904523536028

Wolfram Mathematica donne 39 décimales :
e = 2.718281828459045235360287471352662497757

Les 100 décimales données sur Maths et tiques sont :
e = 2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274

Les 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 146

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 .....

#10 08-01-2023 18:43:03

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 129

Re : Une approximation sur 12 chiffres du nombre de Euler

RE,

Euler a donné 23 décimales, et lui non plus n'avait pas de calculatrice et il a utilisé les factorielles...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#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 129

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

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante quatorze moins soixante et onze
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums