Inscription / Connexion Nouveau Sujet

1 2 +


Posté par
minkus Posteur d'énigmes
re : fraction égale à Pi 17-08-06 à 20:35

Il y a des resultats tres interessants sur les fractions continues.

Par exemple, la fraction continue avec uniquement des 1 : \frac{1}{1 + \frac{1}{1 + ...}}

correspond au nombre d'or \frac{1+V5}{2}

Posté par
Violoncellenoir
re : fraction égale à Pi 18-08-06 à 01:51

Et la suite serait :

3 + \frac{7}{50} = 157/50 et on retrouve bien au final la simplification de \frac{314}{100}

Posté par
Violoncellenoir
re : fraction égale à Pi 18-08-06 à 01:53

(suite de l'avant dernier post de Minkus bien évidemment)

Posté par
philmageo
re : fraction égale à Pi 30-06-16 à 19:13

ce sujet est vieux de 10 ans mais il m'a donné envie de coder un algorithme pour le plaisir.

D'abord les résultats :

355 / 113
3.141592
3.141592653589793

104348 / 33215
3.141592653
3.141592653589793

1146408 / 364913
3.1415926535
3.141592653589793

5419351 / 1725033
3.141592653589
3.141592653589793

80143857 / 25510582
3.14159265358979
3.141592653589793

l'idée est simplement de boucler sur une série d'entiers
de les multiplier par pi
de ne garder que la partie entière du calcul
puis de refaire le calcul de a fraction
de comparer avec pi
et de garder la fraction qui s'en approche le plus.

Le code en python :

import math

vPi = math.pi

def get_Denominator(numerator):
    test = numerator * vPi
    denominator = math.floor(test+0.5)
    return denominator

best_numerator = 0
best_denominator = 0
best_pi = 0
best_delta = 1
current_delta = 0
for numerator in range(5,50000000):
    denominator=get_Denominator(numerator)
    false_pi = denominator / numerator
    current_delta = math.fabs(vPi-false_pi)
    if( current_delta< best_delta ):
        best_delta = current_delta
        best_numerator = numerator
        best_denominator = denominator
        best_pi = false_pi
str_best_pi = str(best_pi)
str_pi = str(vPi)
str_show_pi = ""
i=0
vLen=len(str_best_pi)
vLen2=len(str_pi)
vLen = min(vLen,vLen2)
print(vLen)
for i in range(0,vLen):
    if(str_best_pi[i]==str_pi[i]):
        str_show_pi+=str_best_pi[i]
    else:
        break

print(best_denominator,"/",best_numerator)
print(str_show_pi)
print(vPi)

Posté par
sylvainc2
re : fraction égale à Pi 01-07-16 à 21:08

Ces fractions sont des réduites de la fraction continue simple  (avec des 1 aux numérateurs) de pi: 3 + 1/(7+1/(15+...)).  Sous forme simplifiée la fc simple de pi s'écrit [3,7,15,1,292,1,1,1,2,1,3,1,...]  Elle est évidemment infinie parce que pi est irrrationnel.  A partir de ces quotients on peut calculer des fractions appelées réduites qui vont approximer de mieux en mieux pi.

J'ai pas regardé le détail de ton programme mais je suppose que tu calcules ces quotients 3,7,.etc..  et que tu t'en sers pour calculer les réduites.

q	y / x
---------------
	0 / 1
	1 / 0
3	3 / 1 
7	22 / 7
15	333 / 106 
1	355 / 113 *
292	103993 / 33102 
1	104348 / 33215 *
1	208341 / 66317 
1	312689 / 99532 
2	833719 / 265381
1	1146408 / 364913 *
3	4272943 / 1360120
1	5419351 / 1725033 *
...etc...

Pour calculer ces réduites on fait:

y_i = y_{i-2} + q_i y_{i-1}
x_i = x_{i-2} + q_i x_{i-1}

avec les valeurs initiales de y et x des deux premieres lignes.  Évidemment il faut déjà connaitre les quotients q, c'est-à-dire la fc de simple de pi.  (Ces formules sont presque les mêmes que celles qui calculent les coefficients de Bézout dans l'algo d'Euclide étendu, au signe près: on change les "-" pour des "+").

On peut aussi interpoler entre deux réduites pour possiblement trouver une autre fraction qui sera une meilleure approximation de pi que la premiere réduite.  Par exemple, entre 355/113 et 103993 / 33102 il y a une centaine d'autres fractions comme ca.  On calcule chacune en prenant le quotient suivant, celui de 103993 / 33102, qui est 292 ici, et on le divise par 2: 292/2 = 146 et on s'en sert comme le quotient q pour calculer la fraction interpolee qui va suivre 355/113:

avec q = 146  y/x = 52163 / 16604
avec q = 147  y/x = 52518 / 16717

etc... jusqu'à q=291 mais il faut tester chacune pour voir si elle est une meilleure approximation que 355/113 car ce n'est pas garanti (contrairement aux réduites elles-mêmes).

1 2 +




Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !