Accueil > Forum > > > > Pi ...
Pi ...
dimanche 10 septembre 2006 à 10:32:21 |
Pi ...

Anotine
|
Bonjour ... Pour calculer Pi j'utilise un algorithme, celui de Ramanujan ... Pour l'exécuter j'ai besoin d'un type de variable qui supporte plus de milles décimales ! Si vous en connaissaient un ca serais bien Merci !
En attendant voici l'algorithme avec des Double :
Function
Pi()
As
Double
Dim
P1
As
Double
= 9801 / (2 * Math.Sqrt(2))
Dim
P2
As
Double
Dim
Incr
As
Integer
For
Incr = 0
To
173 ' Maxi que supporte Double
Dim
P2a
As
Double
= Math.Exp(4 * Incr) * (1103 + (26390 * Incr))
Dim
P2b
As
Double
= (Math.Exp(Incr) ^ 4) * (396 ^ (4 * Incr)) P2 += P2a / P2b
Next
Return
P1 * (P2 ^ (-1))
End
Function
Configuration : Visual Studio 2005
|
|
dimanche 10 septembre 2006 à 11:16:39 |
Re : Pi ...

Julien237
|
Tu dois passer soit par des tableaux d'entiers, soit par des strings... Le sujet m'intéresse, je vais essayer de faire un objet qui permet ce calcul, je te le posterai tantot....
Julien.
|
|
dimanche 10 septembre 2006 à 16:41:53 |
Re : Pi ...

cedvinc
|
Bonjour,
Tu peux aussi utiliser la méthode de Monte Carlo qui consiste à calculer
le nombre PI, basée sur le calcul du nombre de
point appartenant au cercle de rayon unité et à l'intervalle de 0 à 1. En calculant la
surface qu'occupent les points, il obtient le nombre PI.
Le principe
consiste à: - Tirer
aléatoirement (utilisant la fonction RND) un certain nombre (N) de points
définis par un couple de valeurs (X et Y) dans l'intervalle 0 à 1; - Si le
point appartient à la surface C, il est comptabilisé.
En prenant un cercle de rayon 1 situé sur un repère x=0 et y =0 (simplifie pour la fonction du nombre aléatoire, on a le code:
Exemple: For
a = 1 To N x = Rnd() y = Rnd() If
y * y + x * x <= 1 Then
c = c + 1 End If Next Text2.Text
= 4 * c / N
Avec N le nombre de points (par ex: 1000) et c est le nombre de points présent dans le cercle de rayon 1
|
|
lundi 11 septembre 2006 à 10:08:00 |
Re : Pi ...

loulou69
|
Bonjour
Avec les formules de Ramanujan (génie divin parmi les génies), tu es sur la bonne voie.
Certains diront que le calcul de pi est une quête sans intérêt.
Les benchmarks (tests) de processeurs utilise le calcul de Pi pour mesurer leur puissance.
VB n'est pas le language approprié pour calculer les décimales de Pi.
En son temps, le dinosaure que je suis, a effectué le même type de quête en basic puis en assembleur en utilisant le développement limité de ArcTangente.
Le développement de Arctangente permet en effectuant des multiplications d'entier et des divisions par 2 (facile en assembleur décalage d'un bit) d'obtenir le résultat.
J'avais utilisé : Pi/4 = 4 * Arctan(1/5)- ArcTan(1/239) peut être pas très rapide
Là ou en Basic , j'obtenais dans un temps donné quelques centaines de décimales, en assembleur, et quelques centaines de milliers de décimales avec le même algorythme. (1000 fois plus dans le même temps avec un CPU à quelques centaines de Hz : Motorola 6809)
Pour dire qu'il vaut mieux abandonner VB si le but est d'obtenir un record.
Aujourd'hui je chercherai à savoir quelle est la formule la plus rapide.
Bon courage
|
|
Cette discussion est classée dans : p2, math, double, pi, incr
Répondre à ce message
Sujets en rapport avec ce message
Coordonnée d'un DrawEllipse [ par maxou1704 ]
Bonjour, j'ai un souci pour dessiner un disque dans un picturebox. Le repère est bien créer. Dim A, B, C, D As Long For i = 1 To 10 'Boucle For de 1
déploiement d un projet avec l attachement de la BD [ par famou2 ]
Bonjour à tous. Je suis en train de faire un déploiement d un projet avec l attachement de la BD, je pense que j ai fait tout, mais une erreur s affi
ellipse et secteur [ par JJDai ]
Bonjour Je suis une buse en trigonometrie et je n'arrive à régler le problème suivant: Je suis en VB dotNet, mais en c# m^me topo Je trace un secteur
VBA Aligner un texte Autocad 2002 [ par JeffC1977 ]
Bonjour à tous Je débute à coder avec du VBA et Autocad 2002. À ma grandre surprise j'arrive à faire quelque truc sans trop de problème. Je code po
double Click de souri [ par tsi3 ]
merci aidez moi s'il vous plait Comment faire une fonction de double click de souris ? exemple: si on lance un timer,apres un certain temp une
Listview : Double Click sur zone vide [ par EvilGost ]
Bonjour à toute la communauté, je fais appel à vous car je me heurte à un petit problème. En effet, je souhaite intercepté l'évènement "double_click
Problème de math ^^ [ par benjilebest ]
Bonjour à tous, N'étant pas (du tout) calé en programmation je m'en remets à des experts qui voudront bien me consacrer un peu de leur temps libre (d
double clique datagrid [ par marwa580 ]
Bonjour, J'ai besoin d'ouvrir une formulaire lorsque je double-clique sur une cellule du datagrid. Il me faut donc récupérer la valeur de la cellule c
VB6 Calcul mathématique avec une variabl en Variant ? [ par JeffC1977 ]
Bonjour Je désire faire un calcul simple de Pythagore Je crois que mon problème est que je dois faire le calcul avec une variable qui est en variant.
Livres en rapport
|
Derniers Blogs
DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|